Ko te otinga markdown2pdf kua rite me te waehere puna mo Linux

Kupuhipa

He huarahi pai a Markdown ki te tuhi tuhinga poto, i etahi wa he maha nga tuhinga, me te whakahiato ngawari me te whakahōputu maia. He pai hoki a Markdown mo te tuhi tuhinga me te waehere puna whakauru. Engari i etahi wa ka hiahia koe ki te kanikani me te timipera kia mau ki roto i te konae PDF kua pai te hanga, kia kore ai he raruraru i te wa o te hurihanga, hei tauira, i a au - kaore e taea e koe te tuhi i roto i te reo Russian. nga korero o te waehere puna, he roa rawa nga rarangi kaore e whakawhitia, engari ka tapahia me etahi atu raruraru iti. Ma te tohutohu ka taea e koe te whakarite tere i te kaitahuri md2pdf me te kore e tino ruku ki te mahi. Ko te tuhinga mo te nui ake, iti ake ranei te whakaurunga aunoa kei raro i te waahanga e pa ana.

Ko taku tauira tauira TeX mo te hurihanga ka whakamahi i te kete momotuhi PSCyr, kei roto ko te tautoko mo nga momotuhi Microsoft, ara Nga Hou New Roman. Ko enei nga whakaritenga mo te tohu tohu e ai ki a GOST. Mena ka mohio koe me pehea, ka taea e koe te whakarereke i te tauira kia rite ki o hiahia. I aku tohutohu, me mahi tuatahi koe ki te whakatu PSCyr ki TexLive. Kua oti te tatūnga i roto i te tohatoha Linux Mint Mate; mo etahi atu tohatoha, ka hiahia pea koe ki te google nga kōpaki kete TexLive paerewa mo to punaha.

Tāuta TexLive

Ko te tikanga, ka taea e koe te whakauru i nga waahanga e tika ana mo tenei kete. Engari ko ahau ake, he tino mangere ahau ki te rapu i te iti rawa o te whakaurunga mahi. Kia mohio kei te mahi nga mea katoa, whakauruhia te katoa o te kete TexLive. Ka kiia texlive-ki tonu a he iti ake te taumaha i te 2 gigabytes, kia mau ki tenei meka. Ka mahia e matou te whakahau:

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

I muri i te wa roa o te whakaurunga, ka taea e koe te haere ki te waahanga e whai ake nei.

Te whakauru i te kaitahuri Pandoc

Ko Pandoc he kete Linux ka taea e koe te huri i etahi whakatakotoranga tuhinga ki etahi atu. He maha nga ahuatanga whakamere ka kitea e koe i runga i te Ipurangi. Kei te hiahia noa matou ki te huri i tetahi konae tohu ki te PDF. Tirohia mehemea kua whakauruhia a Pandoc, ki te kore, whakauruhia. Hei tauira penei:

user@hostname:~$ dpkg -s pandoc

Mena ka kii te putanga kaore i whakauruhia, whakauruhia:

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

Te whakauru i te kete PSCyr mo TexLive

Tuatahi me tango e koe te PSCyr. I tenei wa kei te waatea tonu i tenei hono, mena i te wa o te panui i te tuhinga kaore i te waatea mo etahi take, kaua e ngakaukore, he ngawari ki te kimi me nga tohutohu whakaurunga ma te pato i tetahi mea penei "Tāuta PsCyr texlive" i Google. Mena kei te waatea, he maamaa ake mo koe, tango mai ka whakaaro matou kua wetewete koe i te purongo ki roto i to kōpaki kaainga me te ahua o te ara ki te kōpaki kei roto i te purongo. ~/PSCyr. Na ka haere ki te Terminal ka mahia nga whakahau e whai ake nei i roto i te raupapa:

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

Whai muri, rapua kei hea te raarangi o te rohe texmf. Ka mahia e matou te whakahau:

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

Tena pea kei a koe tenei whaiaronga - /usr/local/share/texmf/, katahi ka mahi matou:

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

Ana, kaore ranei e taea e koe te whakararuraru me te whakahaere i tetahi whakahau ka kape ki tetahi kōpaki texmf ahakoa kei hea ia:

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

Kua whakauruhia nga momotuhi PSCyr, hono ki TexLive:

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

tauira LaTeX mo te hurihanga md2pdf

E kore ahau e tino whakaahua me pehea te whirihora o tenei tauira, a ka hoatu noa i raro i te kaipahua me te kore korero nui. Kati noa ki te kii he pai te whirihora, ahakoa i runga i te ahua o te whakahaere tuhinga me te maha o nga waehere puna. Mena kaore koe i makona ki te rahi o nga nuku, te mokowhiti raina, te kore o te tatau o nga waahanga me nga waahanga, na ki taku whakaaro he tino ngawari ki te google te patai i runga i te Ipurangi "me pehea te mahi i roto i te Latex ..." me katahi to hiahia. Mena kaore i te tino marama, tuhia ki roto i nga korero, ka ngana ahau ki te ruku ki roto i aku ake waahanga 4 tau ki muri ka whakaahua ko tehea raina o te tauira te kawenga mo te aha. I tenei wa, ka tuhia e ahau me pehea taku mahi i runga i taku PC, ka waatea koe ki te whakahoki, ki te whakarereke ranei maau.

Waihangatia he kōnae tauira.tex i roto i te rārangi /usr/share/texlive/:

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

Whakaaetia kia panuitia:

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

whakatuwheratia i raro i te pakiaka ka whakapiri i nga mea huna i raro i te kaipahua i raro ki roto:

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

Ihirangi tauira /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}

Tiakina te kōnae /usr/share/texlive/template.tex ka tuhia he tuhinga ka huri i te konae Makrdown ki te PDF, ka hanga i roto i te kōpaki kotahi he konae e kiia nei ko te konae Markdown me te .pdf prefix, ara, i muri i te huringa. ingoa kōnae.md ka puta ki te kōpaki. ingoa kōnae.md.pdf. Karangatia te tuhinga md2pdf a tuu i te ara / usr / bin. Me mahi raupapa nga whakahau:

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

Kei roto i te rarangi tuawha te whakahau whakawhiti. aro ki --from=markdown_github. Ko te putanga GitHub o Markdown he hototahi whakamuri ki te Markdown taketake, na mena ka tuhia to tuhinga ki roto, kaore koe e awangawanga. Mena kua tuhia to konae MD ki tetahi reo motuhake o Markdown, panuihia te pukapuka Pandoc (man pandoc), kia mohio kei te tautokohia to whakatinanatanga, me te takawiri /usr/bin/md2pdf mehemea e tika ana.

Hōtuhi mo te nui ake iti iho ranei te whakaurunga aunoa

Mena karekau koe e tino hiahia ki te whirihora i tetahi mea, a he rite to tohatoha ki a Ubuntu, ka taea e koe te ngana ki te hanga i tetahi tuhinga me nga ihirangi huna i raro i te kaipahua, a tera pea ka whakauru nga mea katoa i a ia ano, kape noa i te tauira TeX whakairihia i raro i te kaipahua i runga ake e hiahia ana koe. Whakatuwherahia te Terminal ka whakahaere:

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

Na ka whakakiia ki nga ihirangi e whai ake nei:

Ko nga korero o te tuhinga $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

Whakahaerehia me te whakahau:

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

Kaua e wareware ki tera /usr/share/texlive/template.tex me whakakiia kia rite ki te tohu i te waahanga "tauira LaTeX mo te hurihanga md2pdf» ihirangi.

Ma te whakamahi md2pdf

Tuwhera noa te kōpaki me te konae Markdown (some_file.md) i te Terminal, ka whakahaere i te whakahau:

user@hostname:~$ md2pdf some_file.md

Ko te mutunga, ka puta he konae ki te kōpaki some_file.md.pdf.

mutunga

I runga i te tikanga kua whakaahuatia, ka taea e koe te hanga i tetahi momo momo konae PDF, ka taea hoki e koe te huri i etahi atu whakatakotoranga hei utu mo te md, tetahi e tautokohia ana e Pandoc. Ka maia ahau ki te tumanako tera tetahi ra ka whai hua tenei tohutohu ki nga tangata 3 me te hawhe.

Source: will.com

Tāpiri i te kōrero