Vahaolana markdown2pdf efa vita miaraka amin'ny kaody loharano ho an'ny Linux

sasin-teny

Ny Markdown dia fomba tsara hanoratana lahatsoratra fohy, ary indraindray lahatsoratra be dia be, miaraka amin'ny endrika italic tsotra sy sahy. Ny Markdown dia tsara ihany koa amin'ny fanoratana lahatsoratra miaraka amin'ny code source. Fa indraindray ianao te-ho verylessly, mandihy amin'ny ampongatapaka mba hahatratra azy ho ara-dalΓ na, tsara miforona rakitra PDF, ary mba tsy hisy olana mandritra ny fiovam-po, izay, ohatra, nanana - tsy afaka manoratra amin'ny teny Rosiana amin'ny ny fanehoan-kevitry ny source code, andalana lava loatra dia tsy afindra, fa tapaka sy olana kely hafa. Ny torolalana dia ahafahanao manangana haingana ny mpanova md2pdf tsy tena takatra ny fomba fiasany. Ny script ho an'ny fametrahana mandeha ho azy bebe kokoa na latsaka dia eto ambany ao amin'ny fizarana mety.

Ny maodely TeX santionany ho an'ny fiovam-po dia mampiasa ny fonosana endritsoratra PSCyr, izay misy fanohanana ny endritsoratra Microsoft, izany hoe Times New Roman. Nisy fepetra toy izany ho an'ny diplaoma araka ny GOST. Raha fantatrao ny fomba dia azonao ovaina ny mΓ΄dely hifanaraka amin'ny filanao. Amin'ny torolalako manokana dia tsy maintsy adala aloha ianao amin'ny toerana PSCyr ao amin'ny TexLive. Ny fametrahana dia atao amin'ny fizarana Linux Mint Mate, ho an'ny fizarana hafa mety tsy maintsy Google ny lahatahiry fonosana TexLive mahazatra ho an'ny rafitrao.

Fametrahana TexLive

Mazava ho azy fa ny ampahany ilaina amin'ity fonosana ity ihany no azonao apetraka. Fa raha ny tena manokana, tena kamo loatra aho nitady ny kely indrindra ilaina fametrahana asa. Mba hahazoana antoka fa mandeha ny zava-drehetra, apetraho ny fonosana TexLive manontolo. Antsoina hoe textlive-feno ary milanja mihoatra ny 2 gigabytes, tadidio ity zava-misy ity. Manatanteraka ny baiko izahay:

user@hostname:~$ sudo apt install texlive-full -y

Aorian'ny fametrahana ela be dia afaka mandroso amin'ny singa manaraka ianao.

Fametrahana ny Pandoc Converter

Pandoc dia fonosana Linux izay ahafahanao mamadika endrika lahatsoratra sasany ho an'ny hafa. Manana endri-javatra mahaliana maro izay azonao jerena ao amin'ny Internet. Ny mety hanovana rakitra markdown ho PDF ihany no mahaliana anay. Jereo raha napetraka ny Pandoc ary raha tsy izany dia apetraho. Ohatra toy izao:

user@hostname:~$ dpkg -s pandoc

Raha toa ka milaza ny vokatra fa tsy napetraka dia apetraho:

user@hostname:~$ sudo apt install pandoc -y

Fametrahana ny fonosana PSCyr ho an'ny TexLive

Voalohany dia mila misintona PSCyr ianao. Amin'izao fotoana izao dia mbola misy amin'ity rohy, raha amin'ny fotoana famakiana ilay lahatsoratra dia tsy misy noho ny antony iray, aza kivy, mora ny mahita azy miaraka amin'ny torolΓ lana fametrahana amin'ny alΓ lan'ny fanoratana zavatra toy ny "Install PsCyr texlive" ao amin'ny Google. Raha misy izany, dia mora kokoa aminao izany, misintona ary hoheverinay fa navotsotra tao amin'ny lahatahiry an-tranonao ny arisiva ary toy izany ny lalana mankany amin'ny lahatahiry voarakitra ao amin'ny arisiva. ~/PSCyr. Avy eo mandehana any amin'ny Terminal ary tanteraho ireto baiko manaraka ireto:

user@hostname:~$ cd
user@hostname:~$ mkdir ./PSCyr/fonts/map ./PSCyr/fonts/enc
user@hostname:~$ cp ./PSCyr/dvips/pscyr/*.map ./PSCyr/fonts/map/
user@hostname:~$ cp ./PSCyr/dvips/pscyr/*.enc ./PSCyr/fonts/enc/
user@hostname:~$ echo "fadr6t AdvertisementPSCyr "T2AEncoding ReEncodeFont"" > ./PSCyr/fonts/map/pscyr.map

Avy eo, tadiavo ny toerana misy ny lahatahiry eo an-toerana texmf. Manatanteraka ny baiko izahay:

user@hostname:~$ kpsewhich -expand-var='$TEXMFLOCAL'

Azo inoana fa manana an'ity lahatahiry ity ianao - /usr/local/share/texmf/, ary avy eo manao:

user@hostname:~$ sudo cp -R ./PSCyr/* /usr/local/share/texmf/

Eny ary, na tsy afaka hanelingelina ianao ary handefa baiko izay handika amin'ny lahatahiry iray texmf na aiza na aiza misy azy:

user@hostname:~$ sudo cp -R ./PSCyr/* $(kpsewhich -expand-var='$TEXMFLOCAL')

PSCyr endri-tsoratra napetraka, mifandray amin'ny TexLive:

user@hostname:~$ sudo texhash
user@hostname:~$ updmap --enable Map=pscyr.map
user@hostname:~$ sudo mktexlsr

LaTeX modely ho an'ny fiovam-po md2pdf

Tsy holazaiko mazava tsara ny fomba nanamboarana an'io mΓ΄dely io, ary homeko fotsiny eo ambanin'ny mpandroba tsy misy fanazavana be. Ampy izay ny filazana fa voarafitra tsara izy io, fara faharatsiny amin'ny fomba fitantanany lahatsoratra misy kaody loharano maro. Raha tsy afa-po amin'ny haben'ny indents, ny elanelan'ny tsipika, ny tsy fisian'ny fanisan'ny fizarana sy ny subsections, dia raha ny hevitro dia mora ny mamaly ny fanontaniana amin'ny Google amin'ny Internet "Ahoana no hanaovana izany amin'ny Latex ..." ary dia ny filanao. Raha tsy mazava tsara dia manorata ao amin'ny fanehoan-kevitra, hiezaka ny hiditra ao amin'ny toerako manokana aho 4 taona lasa izay ary hamaritana hoe iza amin'ny andalana amin'ny mΓ΄dely no tompon'andraikitra amin'izany. Mandritra izany fotoana izany dia hosoratako ny fomba nanaovako izany tamin'ny PC-ko, ary afaka mamerina na manova izany ho an'ny tenanao ianao.

Mamorona rakitra template.tex ao amin'ny katalaogy /usr/share/texlive/:

user@hostname:~$ sudo touch /usr/share/texlive/template.tex

Omeo alalana hamaky azy:

user@hostname:~$ sudo chmod 444 /usr/share/texlive/template.tex

sokafy eo ambanin'ny fakany ary apetaho ao aminy ny ao anatiny ao ambanin'ny mpandroba:

user@hostname:~$ sudo nano /usr/share/texlive/template.tex

Ny votoatin'ny template /usr/share/texlive/template.tex

documentclass[oneside,final,14pt]{extreport}
usepackage{extsizes}
usepackage{pscyr}
renewcommand{rmdefault}{ftm}
usepackage[T2A]{fontenc}
usepackage[utf8]{inputenc}
usepackage{amsmath}
usepackage{mathtext}
usepackage{multirow}
usepackage{listings}
usepackage{ucs}
usepackage{hhline}
usepackage{tabularx}
usepackage{booktabs}
usepackage{longtable}
usepackage{titlesec}
usepackage{hyperref}
usepackage{graphicx}
usepackage{setspace}
usepackage[center,it,labelsep=period]{caption}
usepackage[english,russian,ukrainian]{babel}
usepackage{vmargin}
newcommand{specialcell}[2][c]{%
    begin{tabular}[#1]{@{}c@{}}#2end{tabular}}
setpapersize{A4}
setmarginsrb {1cm}{1cm}{1cm}{1cm}{0pt}{0mm}{0pt}{13mm}
usepackage{indentfirst}
setlengthparindent{1cm}
renewcommand{baselinestretch}{1}
renewcommandthechapter{}
renewcommandthesection{}
renewcommandthesubsection{}
renewcommandthesubsubsection{}
titleformat
{chapter} % command
{bfseriesnormalsizecentering} % format
{thechapter} % label
{0.5ex} % sep
{
    centering
}
[
vspace{-1.5ex}
] % after-code
titleformat
{section}
[block]
{normalfontbfseries}
{thesection}{0.5em}{}
sloppy
letoldenumerateenumerate
renewcommand{enumerate}{
  oldenumerate
  setlength{itemsep}{1pt}
  setlength{parskip}{0pt}
  setlength{parsep}{0pt}
}
letolditemizeitemize
renewcommand{itemize}{
  olditemize
  setlength{itemsep}{1pt}
  setlength{parskip}{0pt}
  setlength{parsep}{0pt}
}
providecommand{tightlist}{%
  setlength{itemsep}{0pt}setlength{parskip}{0pt}}

titlespacing{subsubsection}{parindent}{3mm}{3mm}
titlespacing{subsection}{parindent}{3mm}{3mm}
usepackage{color}

lstset{
    basicstyle=footnotesizettfamily,
    inputencoding=utf8,
    extendedchars=true,
    showspaces=false,
    keepspaces=true
    showstringspaces=false,
    showtabs=false,
    tabsize=4,
    captionpos=b,
    breaklines=true,
    breakatwhitespace=true,
    breakautoindent=true,
    linewidth=textwidth
}

begin{document}
$if(title)$
maketitle
$endif$
$if(abstract)$
begin{abstract}
$abstract$
end{abstract}
$endif$

$for(include-before)$
$include-before$

$endfor$
$if(toc)$
{
$if(colorlinks)$
hypersetup{linkcolor=$if(toccolor)$$toccolor$$else$black$endif$}
$endif$
setcounter{tocdepth}{$toc-depth$}
tableofcontents
}
$endif$
$if(lot)$
listoftables
$endif$
$if(lof)$
listoffigures
$endif$
$body$

$if(natbib)$
$if(bibliography)$
$if(biblio-title)$
$if(book-class)$
renewcommandbibname{$biblio-title$}
$else$
renewcommandrefname{$biblio-title$}
$endif$
$endif$
bibliography{$for(bibliography)$$bibliography$$sep$,$endfor$}

$endif$
$endif$
$if(biblatex)$
printbibliography$if(biblio-title)$[title=$biblio-title$]$endif$

$endif$
$for(include-after)$
$include-after$

$endfor$
end{document}

Mitahiry ny rakitra /usr/share/texlive/template.tex ary manorata script izay hanova ny rakitra Makrdown ho PDF, mamorona ao amin'ny lahatahiry iray ihany ny rakitra antsoina hoe Markdown rakitra miaraka amin'ny prefix .pdf, izany hoe aorian'ny fiovam-po. filename.md dia hiseho ao amin'ny lahatahiry. filename.md.pdf. Andao hiantso ny script md2pdf ary apetraho eny an-dalana / usr / bin. Andeha hotanterahina amin'ny filaharana ny baiko:

user@hostname:~$ cd
user@hostname:~$ touch md2pdf
user@hostname:~$ echo "#!/bin/bash" > md2pdf
user@hostname:~$ echo "pandoc --output=$1.pdf --from=markdown_github --latex-engine=pdflatex --listings --template=/usr/share/texlive/template.tex $1" >> md2pdf
user@hostname:~$ sudo cp md2pdf /usr/bin/
user@hostname:~$ sudo chmod 111 /usr/bin/md2pdf

Ny andalana faha-4 dia misy ny baiko fiovam-po. tandremo ny --from=markdown_github. Ny dikan-teny GitHub an'ny Markdown dia mifanaraka amin'ny Markdown tany am-boalohany, ka raha voasoratra ao ny lahatsoratrao dia tsy mila manahy ianao. Raha voasoratra amin'ny fitenim-paritra Markdown manokana ny rakitra MD anao dia vakio ny boky Pandoc (man pandoc), ataovy azo antoka fa tohanan'io ny fampiharanao, ary asio tweak /usr/bin/md2pdf raha ilaina.

Script ho an'ny fametrahana mandeha ho azy bebe kokoa na latsaka

Raha tsy tena te-hanamboatra na inona na inona ianao, ary manana fizarana mitovy amin'ny Ubuntu ianao, dia azonao atao ny manandrana mamorona script miaraka amin'ny atiny miafina ao ambanin'ny mpandroba, ary azo inoana fa ny zava-drehetra dia hametraka ny tenany, ny hany tokana dia ny kopia. ny mΓ΄dely TeX napetraka eo ambanin'ny mpandroba etsy ambony mankany amin'ny toerana ilanao azy. Sokafy ny Terminal ary mihazakazaka:

user@hostname:~$ cd
user@hostname:~$ touch installmd2pdf.sh

Fenoy ireto votoaty manaraka ireto avy eo:

Ny votoatin'ny script $HOME/installmd2pdf.sh

#!/bin/bash
cd /tmp
sudo apt install texlive-full pandoc -y
wget http://blog.harrix.org/wp-content/uploads/2013/02/PSCyr.zip
unzip -qq PSCyr.zip
cd
mkdir ./PSCyr/fonts/map ./PSCyr/fonts/enc
cp ./PSCyr/dvips/pscyr/*.map ./PSCyr/fonts/map/
cp ./PSCyr/dvips/pscyr/*.enc ./PSCyr/fonts/enc/
echo "fadr6t AdvertisementPSCyr "T2AEncoding ReEncodeFont"" > ./PSCyr/fonts/map/pscyr.map
sudo cp -R ./PSCyr/* $(kpsewhich -expand-var='$TEXMFLOCAL')
sudo texhash
updmap --enable Map=pscyr.map
sudo mktexlsr
sudo touch /usr/share/texlive/template.tex
touch md2pdf
echo "#!/bin/bash" > md2pdf
echo "pandoc --output=$1.pdf --from=markdown_github --latex-engine=pdflatex --listings --template=/usr/share/texlive/template.tex $1" >> md2pdf
sudo cp md2pdf /usr/bin/
sudo chmod 111 /usr/bin/md2pdf

Alefaso amin'ny baiko izany:

user@hostname:~$ sudo bash $HOME/installmd2pdf.sh

Aza adino izany /usr/share/texlive/template.tex tsy maintsy fenoina araka ny voalaza ao amin'ny fizarana "LaTeX modely ho an'ny fiovam-po md2pdfΒ» votoaty.

Mampiasa md2pdf

Sokafy fotsiny ny lahatahiry miaraka amin'ny rakitra Markdown (some_file.md) ao amin'ny Terminal ary araho ny baiko:

user@hostname:~$ md2pdf some_file.md

Vokatr'izany dia hisy rakitra hiseho ao amin'ny lahatahiry some_file.md.pdf.

famaranana

Miorina amin'ny fomba voalaza, azonao atao ny manangana endrika rakitra PDF, azonao atao koa ny manova endrika hafa fa tsy md, izay tohanan'ny Pandoc. Sahy manantena aho fa indray andro any dia hahasoa olona 3 sy sasany ity fampianarana ity.

Source: www.habr.com

Add a comment