Linux เชฎเชพเชŸเซ‡ เชธเซเชคเซเชฐเซ‹เชค เช•เซ‹เชก เชธเชพเชฅเซ‡ เชคเซˆเชฏเชพเชฐ markdown2pdf เชธเซ‹เชฒเซเชฏเซเชถเชจ

เชซเซ‹เชฐเชตเชฐเซเชก

เชฎเชพเชฐเซเช•เชกเชพเช‰เชจ เช เชเช• เชจเชพเชจเซ‹ เชฒเซ‡เช– เชฒเช–เชตเชพเชจเซ€ เชเช• เชธเชฐเชธ เชฐเซ€เชค เช›เซ‡, เช…เชจเซ‡ เช•เซ‡เชŸเชฒเซ€เช•เชตเชพเชฐ เชธเชฐเชณ เช‡เชŸเชพเชฒเชฟเช• เช…เชจเซ‡ เชฌเซ‹เชฒเซเชก เชซเซ‹เชฐเซเชฎเซ‡เชŸเชฟเช‚เช— เชธเชพเชฅเซ‡ เช˜เชฃเซเช‚ เชฌเชงเซเช‚ เชฒเช–เชพเชฃ. เชฎเชพเชฐเซเช•เชกเชพเช‰เชจ เช เชธเซเชฐเซ‹เชค เช•เซ‹เชก เชถเชพเชฎเซ‡เชฒ เชธเชพเชฅเซ‡ เชฒเซ‡เช–เซ‹ เชฒเช–เชตเชพ เชฎเชพเชŸเซ‡ เชชเชฃ เชธเชพเชฐเซเช‚ เช›เซ‡. เชชเชฐเช‚เชคเซ เช•เซ‡เชŸเชฒเซ€เช•เชตเชพเชฐ เชคเชฎเซ‡ เชนเชพเชฐเซ€ เชœเชตเชพ เชฎเชพเช—เซ‹ เช›เซ‹, เชคเซ‡เชจเซ‡ เชจเชฟเชฏเชฎเชฟเชค, เชธเชพเชฐเซ€ เชฐเซ€เชคเซ‡ เชฌเชจเชพเชตเซ‡เชฒ เชชเซ€เชกเซ€เชเชซ เชซเชพเช‡เชฒเชฎเชพเช‚ เช†เช—เชณ เชจเซ€เช•เชณเซ€ เชœเชตเชพ เชฎเชพเชŸเซ‡ เช–เช‚เชœเชฐเซ€ เชตเชกเซ‡ เชจเซƒเชคเซเชฏ เช•เชฐเซ‹, เช…เชจเซ‡ เชœเซ‡เชฅเซ€ เชฐเซ‚เชชเชพเช‚เชคเชฐเชฃ เชฆเชฐเชฎเชฟเชฏเชพเชจ เช•เซ‹เชˆ เชธเชฎเชธเซเชฏเชพ เชจ เช†เชตเซ‡, เชœเซ‡, เช‰เชฆเชพเชนเชฐเชฃ เชคเชฐเซ€เช•เซ‡, เชฎเชพเชฐเซ€ เชชเชพเชธเซ‡ เชนเชคเซ€ - เชคเชฎเซ‡ เชฐเชถเชฟเชฏเชจเชฎเชพเช‚ เชฒเช–เซ€ เชถเช•เชคเชพ เชจเชฅเซ€. เชธเซเชฐเซ‹เชค เช•เซ‹เชกเชจเซ€ เชŸเชฟเชชเซเชชเชฃเซ€เช“, เช–เซ‚เชฌ เชฒเชพเช‚เชฌเซ€ เชฒเชพเช‡เชจเซ‹ เชŸเซเชฐเชพเชจเซเชธเชซเชฐ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเชคเซ€ เชจเชฅเซ€, เชชเชฐเช‚เชคเซ เช•เชŸ เช…เชจเซ‡ เช…เชจเซเชฏ เชจเชพเชจเซ€ เชธเชฎเชธเซเชฏเชพเช“. เชธเซ‚เชšเชจเชพ เชคเชฎเชจเซ‡ เช•เชจเซเชตเชฐเซเชŸเชฐเชจเซ‡ เชเชกเชชเชฅเซ€ เชธเซ‡เชŸ เช•เชฐเชตเชพเชจเซ€ เชฎเช‚เชœเซ‚เชฐเซ€ เช†เชชเชถเซ‡ md2pdf เชคเซ‡ เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เช•เชพเชฐเซเชฏ เช•เชฐเซ‡ เช›เซ‡ เชคเซ‡ เช–เชฐเซ‡เช–เชฐ เชธเชฎเชœเซเชฏเชพ เชตเชฟเชจเชพ. เชตเชงเซ เช•เซ‡ เช“เช›เชพ เชธเซเชตเชšเชพเชฒเชฟเชค เช‡เชจเซเชธเซเชŸเซ‹เชฒเซ‡เชถเชจ เชฎเชพเชŸเซ‡เชจเซ€ เชธเซเช•เซเชฐเชฟเชชเซเชŸ เชจเซ€เชšเซ‡ เชฏเซ‹เช—เซเชฏ เชตเชฟเชญเชพเช—เชฎเชพเช‚ เช›เซ‡.

เชฐเซ‚เชชเชพเช‚เชคเชฐ เชฎเชพเชŸเซ‡เชจเซ‹ เชฎเชพเชฐเซ‹ เชจเชฎเซ‚เชจเชพ TeX เชŸเซ‡เชฎเซเชชเชฒเซ‡เชŸ PSCyr เชซเซ‹เชจเซเชŸ เชชเซ‡เช•เซ‡เชœเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ‡ เช›เซ‡, เชœเซ‡เชฎเชพเช‚ Microsoft เชซเซ‹เชจเซเชŸเซเชธ เชฎเชพเชŸเซ‡ เชธเชชเซ‹เชฐเซเชŸเชจเซ‹ เชธเชฎเชพเชตเซ‡เชถ เชฅเชพเชฏ เช›เซ‡, เชเชŸเชฒเซ‡ เช•เซ‡ เชŸเชพเช‡เชฎเซเชธ เชจเซเชฏเซ‚ เชฐเซ‹เชฎเชจ. GOST เช…เชจเซเชธเชพเชฐ เชกเชฟเชชเซเชฒเซ‹เชฎเชพ เชฎเชพเชŸเซ‡ เช†เชตเซ€ เช†เชตเชถเซเชฏเช•เชคเชพเช“ เชนเชคเซ€. เชœเซ‹ เชคเชฎเซ‡ เชœเชพเชฃเซ‹ เช›เซ‹ เช•เซ‡ เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡, เชคเชฎเซ‡ เชคเชฎเชพเชฐเซ€ เชœเชฐเซ‚เชฐเชฟเชฏเชพเชคเซ‹เชจเซ‡ เช…เชจเซเชฐเซ‚เชช เชจเชฎเซ‚เชจเชพเชจเซ‡ เชธเช‚เชถเซ‹เชงเชฟเชค เช•เชฐเซ€ เชถเช•เซ‹ เช›เซ‹. เชฎเชพเชฐเซ€ เชชเซ‹เชคเชพเชจเซ€ เชธเซ‚เชšเชจเชพเช“เชฎเชพเช‚, เชคเชฎเชพเชฐเซ‡ เชชเชนเซ‡เชฒเชพ TexLive เชฎเชพเช‚ PSCyr เชธเซ‡เชŸเชฟเช‚เช— เชธเชพเชฅเซ‡ เชฎเซ‚เชฐเซเช– เชฌเชจเชพเชตเชตเซเช‚ เชชเชกเชถเซ‡. เชธเซ‡เชŸเช…เชช Linux Mint Mate เชตเชฟเชคเชฐเชฃเชฎเชพเช‚ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡, เช…เชจเซเชฏ เชตเชฟเชคเชฐเชฃเซ‹ เชฎเชพเชŸเซ‡ เชคเชฎเชพเชฐเซ‡ เชคเชฎเชพเชฐเซ€ เชธเชฟเชธเซเชŸเชฎ เชฎเชพเชŸเซ‡ เชชเซเชฐเชฎเชพเชฃเชญเซ‚เชค TexLive เชชเซ‡เช•เซ‡เชœ เชซเซ‹เชฒเซเชกเชฐเซเชธเชจเซ‡ เช—เซ‚เช—เชฒ เช•เชฐเชตเซเช‚ เชชเชกเชถเซ‡.

TexLive เช‡เชจเซเชธเซเชŸเซ‹เชฒ เช•เชฐเซ€ เชฐเชนเซเชฏเซเช‚ เช›เซ‡

เช…เชฒเชฌเชคเซเชค, เชคเชฎเซ‡ เช† เชชเซ‡เช•เซ‡เชœเชจเชพ เชซเช•เซเชค เชœเชฐเซ‚เชฐเซ€ เชญเชพเช—เซ‹ เชœ เช‡เชจเซเชธเซเชŸเซ‹เชฒ เช•เชฐเซ€ เชถเช•เซ‹ เช›เซ‹. เชชเชฐเช‚เชคเซ เชตเซเชฏเช•เซเชคเชฟเช—เชค เชฐเซ€เชคเซ‡, เชนเซเช‚ เชจเซเชฏเซ‚เชจเชคเชฎ เชœเชฐเซ‚เชฐเซ€ เช•เชพเชฐเซเชฏเช•เชพเชฐเซ€ เช‡เชจเซเชธเซเชŸเซ‹เชฒเซ‡เชถเชจ เชœเซ‹เชตเชพ เชฎเชพเชŸเซ‡ เชชเซเชฐเชฎเชพเชฃเชฟเช•เชชเชฃเซ‡ เช–เซ‚เชฌ เช†เชณเชธเซ เชนเชคเซ‹. เชฌเชงเซเช‚ เช•เชพเชฎ เช•เชฐเซ‡ เช›เซ‡ เชคเซ‡เชจเซ€ เช–เชพเชคเชฐเซ€ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡, เชธเช‚เชชเซ‚เชฐเซเชฃ TexLive เชชเซ‡เช•เซ‡เชœ เช‡เชจเซเชธเซเชŸเซ‹เชฒ เช•เชฐเซ‹. เชคเซ‡ เช•เชนเซ‡เชตเชพเชฏ เช›เซ‡ เชŸเซ‡เช•เซเชธเชฒเชพเชˆเชตเชฅเซ€ เชญเชฐเชชเซ‚เชฐ เช…เชจเซ‡ เชคเซ‡เชจเซเช‚ เชตเชœเชจ 2 เช—เซ€เช—เชพเชฌเชพเช‡เชŸเซเชธ เช•เชฐเชคเชพเช‚ เชฅเซ‹เชกเซเช‚ เชตเชงเชพเชฐเซ‡ เช›เซ‡, เช† เชนเช•เซ€เช•เชคเชจเซ‡ เชงเซเชฏเชพเชจเชฎเชพเช‚ เชฐเชพเช–เซ‹. เช…เชฎเซ‡ เช†เชฆเซ‡เชถ เชšเชฒเชพเชตเซ€เช เช›เซ€เช:

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

เชชเชฐเซเชฏเชพเชชเซเชค เชฒเชพเช‚เชฌเชพ เช‡เชจเซเชธเซเชŸเซ‹เชฒเซ‡เชถเชจ เชชเช›เซ€, เชคเชฎเซ‡ เช†เช—เชฒเซ€ เช†เช‡เชŸเชฎ เชชเชฐ เช†เช—เชณ เชตเชงเซ€ เชถเช•เซ‹ เช›เซ‹.

เชชเซ‡เชจเซเชกเซ‹เช• เช•เชจเซเชตเชฐเซเชŸเชฐ เช‡เชจเซเชธเซเชŸเซ‹เชฒ เช•เชฐเซ€ เชฐเชนเซเชฏเซเช‚ เช›เซ‡

Pandoc เช Linux เชชเซ‡เช•เซ‡เชœ เช›เซ‡ เชœเซ‡ เชคเชฎเชจเซ‡ เช•เซ‡เชŸเชฒเชพเช• เชŸเซ‡เช•เซเชธเซเชŸ เชซเซ‹เชฐเซเชฎเซ‡เชŸเชจเซ‡ เช…เชจเซเชฏเชฎเชพเช‚ เช•เชจเซเชตเชฐเซเชŸ เช•เชฐเชตเชพเชจเซ€ เชฎเช‚เชœเซ‚เชฐเซ€ เช†เชชเซ‡ เช›เซ‡. เชคเซ‡เชฎเชพเช‚ เช˜เชฃเซ€ เชฌเชงเซ€ เชฐเชธเชชเซเชฐเชฆ เชธเซเชตเชฟเชงเชพเช“ เช›เซ‡ เชœเซ‡ เชคเชฎเซ‡ เชคเชฎเชพเชฐเซ€ เชœเชพเชคเชจเซ‡ เช‡เชจเซเชŸเชฐเชจเซ‡เชŸ เชชเชฐ เชถเซ‹เชงเซ€ เชถเช•เซ‹ เช›เซ‹. เช…เชฎเชจเซ‡ เชซเช•เซเชค เชฎเชพเชฐเซเช•เชกเชพเช‰เชจ เชซเชพเช‡เชฒเชจเซ‡ เชชเซ€เชกเซ€เชเชซเชฎเชพเช‚ เช•เชจเซเชตเชฐเซเชŸ เช•เชฐเชตเชพเชจเซ€ เชธเช‚เชญเชพเชตเชจเชพเชฎเชพเช‚ เชœ เชฐเชธ เช›เซ‡. Pandoc เช‡เชจเซเชธเซเชŸเซ‹เชฒ เช•เชฐเซ‡เชฒเซเช‚ เช›เซ‡ เช•เซ‡ เช•เซ‡เชฎ เชคเซ‡ เชคเชชเชพเชธเซ‹ เช…เชจเซ‡ เชœเซ‹ เชจเชนเซ€เช‚, เชคเซ‹ เชคเซ‡เชจเซ‡ เช‡เชจเซเชธเซเชŸเซ‹เชฒ เช•เชฐเซ‹. เช†เชจเชพ เชœเซ‡เชตเชพ เช‰เชฆเชพเชนเชฐเชฃ เชคเชฐเซ€เช•เซ‡:

user@hostname:~$ dpkg -s pandoc

เชœเซ‹ เช†เช‰เชŸเชชเซเชŸ เช•เชนเซ‡ เช›เซ‡ เช•เซ‡ เชคเซ‡ เช‡เชจเซเชธเซเชŸเซ‹เชฒ เช•เชฐเซ‡เชฒเซเช‚ เชจเชฅเซ€, เชคเซ‹ เช‡เชจเซเชธเซเชŸเซ‹เชฒ เช•เชฐเซ‹:

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

TexLive เชฎเชพเชŸเซ‡ PSCyr เชชเซ‡เช•เซ‡เชœ เช‡เชจเซเชธเซเชŸเซ‹เชฒ เช•เชฐเซ€ เชฐเชนเซเชฏเซเช‚ เช›เซ‡

เชชเซเชฐเชฅเชฎ เชคเชฎเชพเชฐเซ‡ PSCyr เชกเชพเช‰เชจเชฒเซ‹เชก เช•เชฐเชตเชพเชจเซ€ เชœเชฐเซ‚เชฐ เช›เซ‡. เชนเชฎเชฃเชพเช‚ เชฎเชพเชŸเซ‡ เชคเซ‡ เชนเชœเซ€ เชชเชฃ เช† เชชเชฐ เช‰เชชเชฒเชฌเซเชง เช›เซ‡ เช•เชกเซ€, เชœเซ‹ เชฒเซ‡เช– เชตเชพเช‚เชšเชคเซ€ เชตเช–เชคเซ‡ เชคเซ‡ เช•เซ‹เชˆ เช•เชพเชฐเชฃเซ‹เชธเชฐ เช‰เชชเชฒเชฌเซเชง เชจ เชนเซ‹เชฏ, เชคเซ‹ เชจเชฟเชฐเชพเชถ เชจ เชฅเชพเช“, Google เชฎเชพเช‚ "PsCyr texlive เช‡เชจเซเชธเซเชŸเซ‹เชฒ เช•เชฐเซ‹" เชœเซ‡เชตเซเช‚ เช•เช‚เชˆเช• เชŸเชพเชˆเชช เช•เชฐเซ€เชจเซ‡ เช‡เชจเซเชธเซเชŸเซ‹เชฒเซ‡เชถเชจ เชธเซ‚เชšเชจเชพเช“ เชธเชพเชฅเซ‡ เชคเซ‡เชจเซ‡ เชถเซ‹เชงเชตเชพเชจเซเช‚ เชธเชฐเชณ เช›เซ‡. เชœเซ‹ เชคเซ‡ เช‰เชชเชฒเชฌเซเชง เช›เซ‡, เชคเซ‹ เชคเซ‡ เชคเชฎเชพเชฐเชพ เชฎเชพเชŸเซ‡ เชธเชฐเชณ เช›เซ‡, เชกเชพเช‰เชจเชฒเซ‹เชก เช•เชฐเซ‹ เช…เชจเซ‡ เช…เชฎเซ‡ เชงเชพเชฐเซ€เชถเซเช‚ เช•เซ‡ เชคเชฎเซ‡ เชคเชฎเชพเชฐเชพ เชนเซ‹เชฎ เชซเซ‹เชฒเซเชกเชฐเชฎเชพเช‚ เช†เชฐเซเช•เชพเช‡เชตเชจเซ‡ เช…เชจเชชเซ‡เช• เช•เชฐเซเชฏเซเช‚ เช›เซ‡ เช…เชจเซ‡ เช†เชฎ เช†เชฐเซเช•เชพเช‡เชตเชฎเชพเช‚ เชธเชฎเชพเชตเชฟเชทเซเชŸ เชซเซ‹เชฒเซเชกเชฐเชจเซ‹ เชชเชพเชฅ เชœเซ‡เชตเซ‹ เชฆเซ‡เช–เชพเชฏ เช›เซ‡. ~/PSCyr. เชชเช›เซ€ เชŸเชฐเซเชฎเชฟเชจเชฒ เชชเชฐ เชœเชพเช“ เช…เชจเซ‡ เชจเซ€เชšเซ‡เชจเชพ เช†เชฆเซ‡เชถเซ‹เชจเซ‡ เช•เซเชฐเชฎเชฎเชพเช‚ เชšเชฒเชพเชตเซ‹:

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

เช†เช—เชณ, เชธเซเชฅเชพเชจเชฟเช• เชกเชฟเชฐเซ‡เช•เซเชŸเชฐเซ€ เช•เซเชฏเชพเช‚ เชธเซเชฅเชฟเชค เช›เซ‡ เชคเซ‡ เชถเซ‹เชงเซ‹ texmf. เช…เชฎเซ‡ เช†เชฆเซ‡เชถ เชšเชฒเชพเชตเซ€เช เช›เซ€เช:

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

เชฎเซ‹เชŸเซ‡ เชญเชพเช—เซ‡ เชคเชฎเชพเชฐเซ€ เชชเชพเชธเซ‡ เช† เชกเชฟเชฐเซ‡เช•เซเชŸเชฐเซ€ เช›เซ‡ - /usr/local/share/texmf/, เช…เชจเซ‡ เชชเช›เซ€ เช…เชฎเซ‡ เช•เชฐเซ€เช เช›เซ€เช:

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

เชธเชพเชฐเซเช‚, เช…เชฅเชตเชพ เชคเชฎเซ‡ เชชเชฐเซ‡เชถเชพเชจ เช•เชฐเซ€ เชถเช•เชคเชพ เชจเชฅเซ€ เช…เชจเซ‡ เช†เชฆเซ‡เชถ เชšเชฒเชพเชตเซ€ เชถเช•เชคเชพ เชจเชฅเซ€ เชœเซ‡ เชซเซ‹เชฒเซเชกเชฐเชฎเชพเช‚ เช•เซ‰เชชเชฟ เช•เชฐเชถเซ‡ texmf เชคเซ‡เชฃเซ€ เชœเซเชฏเชพเช‚ เชชเชฃ เช›เซ‡:

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

PSCyr เชซเซ‹เชจเซเชŸเซเชธ เช‡เชจเซเชธเซเชŸเซ‹เชฒ เช•เชฐเซเชฏเชพ, TexLive เชฅเซ€ เช•เชจเซ‡เช•เซเชŸ เช•เชฐเซ‹:

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

md2pdf เชฐเซ‚เชชเชพเช‚เชคเชฐ เชฎเชพเชŸเซ‡ LaTeX เชŸเซ‡เชฎเซเชชเชฒเซ‡เชŸ

เช† เชจเชฎเซ‚เชจเซ‹ เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เช—เซ‹เช เชตเชพเชฏเซ‡เชฒ เช›เซ‡ เชคเซ‡เชจเซเช‚ เชนเซเช‚ เชฌเชฐเชพเชฌเชฐ เชตเชฐเซเชฃเชจ เช•เชฐเซ€เชถ เชจเชนเซ€เช‚, เช…เชจเซ‡ เชตเชงเซ เชธเชฎเชœเซ‚เชคเซ€ เชตเชฟเชจเชพ เชคเซ‡เชจเซ‡ เชธเซเชชเซ‹เชˆเชฒเชฐ เชนเซ‡เช เชณ เช†เชชเซ€เชถ. เชคเซ‡ เช•เชนเซ‡เชตเซเช‚ เชชเซ‚เชฐเชคเซเช‚ เช›เซ‡ เช•เซ‡ เชคเซ‡ เชธเชพเชฐเซ€ เชฐเซ€เชคเซ‡ เชฐเซ‚เชชเชฐเซ‡เช–เชพเช‚เช•เชฟเชค เชฅเชฏเซ‡เชฒ เช›เซ‡, เช“เช›เชพเชฎเชพเช‚ เช“เช›เซเช‚ เชคเซ‡ เช˜เชฃเชพ เชธเซเชฐเซ‹เชค เช•เซ‹เชก เชธเชพเชฅเซ‡ เชŸเซ‡เช•เซเชธเซเชŸเชจเซ‡ เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เชนเซ‡เชจเซเชกเชฒ เช•เชฐเซ‡ เช›เซ‡ เชคเซ‡ เชธเช‚เชฆเชฐเซเชญเชฎเชพเช‚. เชœเซ‹ เชคเชฎเซ‡ เช‡เชจเซเชกเซ‡เชจเซเชŸเซเชธเชจเชพ เช•เชฆ, เชฒเชพเช‡เชจ เชธเซเชชเซ‡เชธเชฟเช‚เช—, เชตเชฟเชญเชพเช—เซ‹ เช…เชจเซ‡ เชชเซ‡เชŸเชพ เชตเชฟเชญเชพเช—เซ‹เชจเซ€ เชธเช‚เช–เซเชฏเชพเชจเชพ เช…เชญเชพเชตเชฅเซ€ เชธเช‚เชคเซเชทเซเชŸ เชจเชฅเซ€, เชคเซ‹ เชชเช›เซ€ เชฎเชพเชฐเชพ เชฎเชคเซ‡ เช‡เชจเซเชŸเชฐเชจเซ‡เชŸ เชชเชฐ "เชฒเซ‡เชŸเซ‡เช•เซเชธเชฎเชพเช‚ เชคเซ‡ เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เช•เชฐเชตเซเช‚ ..." เชชเซเชฐเชถเซเชจเชจเซ‡ เช—เซ‚เช—เชฒ เช•เชฐเชตเซเช‚ เชเช•เชฆเชฎ เชธเชฐเชณ เช›เซ‡. เชชเช›เซ€ เชคเชฎเชพเชฐเซ€ เชœเชฐเซ‚เชฐเชฟเชฏเชพเชค. เชœเซ‹ เชคเซ‡ เชฌเชฟเชฒเช•เซเชฒ เชธเซเชชเชทเซเชŸ เชจ เชนเซ‹เชฏ เชคเซ‹, เชŸเชฟเชชเซเชชเชฃเซ€เช“เชฎเชพเช‚ เชฒเช–เซ‹, เชนเซเช‚ 4 เชตเชฐเซเชท เชชเชนเซ‡เชฒเชพเช‚เชจเซ€ เชฎเชพเชฐเซ€ เชชเซ‹เชคเชพเชจเซ€ เชธเซ‡เชŸเชฟเช‚เช—เซเชธเชฎเชพเช‚ เชคเชชเชพเชธ เช•เชฐเชตเชพเชจเซ‹ เชชเซเชฐเชฏเชพเชธ เช•เชฐเซ€เชถ เช…เชจเซ‡ เชตเชฐเซเชฃเชจ เช•เชฐเซ€เชถ เช•เซ‡ เชจเชฎเซ‚เชจเชพเชจเซ€ เช•เชˆ เชฒเชพเช‡เชจ เชถเซเช‚ เชฎเชพเชŸเซ‡ เชœเชตเชพเชฌเชฆเชพเชฐ เช›เซ‡. เช† เชฆเชฐเชฎเชฟเชฏเชพเชจ, เชนเซเช‚ เชฎเชพเชฐเชพ PC เชชเชฐ เชคเซ‡ เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เช•เชฐเซเชฏเซเช‚ เชคเซ‡ เชนเซเช‚ เชฒเช–เซ€เชถ, เช…เชจเซ‡ เชคเชฎเซ‡ เชคเซ‡เชจเซ‡ เชคเชฎเชพเชฐเชพ เชฎเชพเชŸเซ‡ เชชเซเชจเชฐเชพเชตเชฐเซเชคเชฟเชค เช…เชฅเชตเชพ เชธเช‚เชถเซ‹เชงเชฟเชค เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ เชฎเซเช•เซเชค เช›เซ‹.

เชเช• เชซเชพเช‡เชฒ เชฌเชจเชพเชตเซ‹ template.tex เชธเซ‚เชšเชฟเชฎเชพเช‚ /usr/share/texlive/:

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

เชคเซ‡เชจเซ‡ เชตเชพเช‚เชšเชตเชพเชจเซ€ เชชเชฐเชตเชพเชจเช—เซ€ เช†เชชเซ‹:

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

เชคเซ‡เชจเซ‡ เชฐเซเชŸ เชนเซ‡เช เชณ เช–เซ‹เชฒเซ‹ เช…เชจเซ‡ เชคเซ‡เชฎเชพเช‚ เชจเซ€เชšเซ‡เชจเชพ เชธเซเชชเซ‹เชˆเชฒเชฐ เชนเซ‡เช เชณ เช›เซเชชเชพเชฏเซ‡เชฒ เชธเชพเชฎเช—เซเชฐเซ€ เชชเซ‡เชธเซเชŸ เช•เชฐเซ‹:

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

เชŸเซ‡เชฎเซเชชเชฒเซ‡เชŸ เชธเชพเชฎเช—เซเชฐเซ€ /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}

เชซเชพเช‡เชฒ เชธเชพเชšเชตเซ€ เชฐเชนเซเชฏเชพ เช›เซ€เช /usr/share/texlive/template.tex เช…เชจเซ‡ เชเช• เชธเซเช•เซเชฐเชฟเชชเซเชŸ เชฒเช–เซ‹ เชœเซ‡ เชฎเซ‡เช•เชฐเชกเชพเช‰เชจ เชซเชพเช‡เชฒเชจเซ‡ เชชเซ€เชกเซ€เชเชซเชฎเชพเช‚ เช•เชจเซเชตเชฐเซเชŸ เช•เชฐเชถเซ‡, เชคเซ‡ เชœ เชซเซ‹เชฒเซเชกเชฐเชฎเชพเช‚ เช‰เชชเชธเชฐเซเช— .pdf เชธเชพเชฅเซ‡ เชฎเชพเชฐเซเช•เชกเชพเช‰เชจ เชซเชพเช‡เชฒ เชจเชพเชฎเชจเซ€ เชซเชพเช‡เชฒ เชฌเชจเชพเชตเชถเซ‡, เชเชŸเชฒเซ‡ เช•เซ‡ เชฐเซ‚เชชเชพเช‚เชคเชฐ เชชเช›เซ€. filename.md เชซเซ‹เชฒเซเชกเชฐเชฎเชพเช‚ เชฆเซ‡เช–เชพเชถเซ‡. เชซเชพเช‡เชฒเชจเชพเชฎ.md.pdf. เชšเชพเชฒเซ‹ เชธเซเช•เซเชฐเชฟเชชเซเชŸเชจเซ‡ เช•เซ‰เชฒ เช•เชฐเซ€เช md2pdf เช…เชจเซ‡ เชฎเชพเชฐเซเช— เชชเชฐ เชฎเซ‚เช•เซ‹ / usr / เชฌเชฟเชจ. เชšเชพเชฒเซ‹ เช†เชฆเซ‡เชถเซ‹เชจเซ‡ เช•เซเชฐเชฎเชฎเชพเช‚ เชšเชฒเชพเชตเซ€เช:

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

4เชฅเซ€ เชฒเซ€เชŸเซ€ เชตเชพเชธเซเชคเชตเชฎเชพเช‚ เช•เชจเซเชตเชฐเซเชเชจ เช•เชฎเชพเชจเซเชก เชงเชฐเชพเชตเซ‡ เช›เซ‡. เชจเซ€ เชชเชฐ เชงเซเชฏเชพเชจ เช†เชชเซ‹ --from=markdown_github. เชฎเชพเชฐเซเช•เชกเชพเช‰เชจเชจเซเช‚ เช—เชฟเชŸเชนเชฌ เชตเชฐเซเชเชจ เชฎเซ‚เชณ เชฎเชพเชฐเซเช•เชกเชพเช‰เชจ เชธเชพเชฅเซ‡ เชชเชพเช›เชณเชจเซ€ เชคเชฐเชซ เชธเซเชธเช‚เช—เชค เช›เซ‡, เชคเซ‡เชฅเซ€ เชœเซ‹ เชคเชฎเชพเชฐเซเช‚ เชŸเซ‡เช•เซเชธเซเชŸ เชคเซ‡เชฎเชพเช‚ เชฒเช–เชพเชฏเซ‡เชฒเซเช‚ เชนเซ‹เชฏ, เชคเซ‹ เชคเชฎเชพเชฐเซ‡ เชšเชฟเช‚เชคเชพ เช•เชฐเชตเชพเชจเซ€ เชœเชฐเซ‚เชฐ เชจเชฅเซ€. เชœเซ‹ เชคเชฎเชพเชฐเซ€ MD เชซเชพเช‡เชฒ เชšเซ‹เช•เซเช•เชธ เชฎเชพเชฐเซเช•เชกเชพเช‰เชจ เชฌเซ‹เชฒเซ€เชฎเชพเช‚ เชฒเช–เซ‡เชฒเซ€ เชนเซ‹เชฏ, เชคเซ‹ เชชเซ‡เชจเซเชกเซ‹เช• เชฎเซ‡เชจเซเชฏเซเช…เชฒ เชตเชพเช‚เชšเซ‹ (man pandoc), เช–เชพเชคเชฐเซ€ เช•เชฐเซ‹ เช•เซ‡ เชคเชฎเชพเชฐเซเช‚ เช…เชฎเชฒเซ€เช•เชฐเชฃ เชคเซ‡เชจเชพ เชฆเซเชตเชพเชฐเชพ เชธเชฎเชฐเซเชฅเชฟเชค เช›เซ‡, เช…เชจเซ‡ เชเชŸเช•เซ‹ /usr/bin/md2pdf เชœเซ‹ เชœเชฐเซ‚เชฐเซ€ เชนเซ‹เชฏ เชคเซ‹.

เชตเชงเซ เช•เซ‡ เช“เช›เชพ เชธเซเชตเชšเชพเชฒเชฟเชค เช‡เชจเซเชธเซเชŸเซ‹เชฒเซ‡เชถเชจ เชฎเชพเชŸเซ‡ เชธเซเช•เซเชฐเชฟเชชเซเชŸ

เชœเซ‹ เชคเชฎเซ‡ เช–เชฐเซ‡เช–เชฐ เช•เช‚เชˆเชชเชฃ เช—เซ‹เช เชตเชตเชพ เชฎเชพเช‚เช—เชคเชพ เชจเชฅเซ€, เช…เชจเซ‡ เชคเชฎเชพเชฐเซ€ เชชเชพเชธเซ‡ เช‰เชฌเซเชจเซเชŸเซ เชœเซ‡เชตเซเช‚ เชตเชฟเชคเชฐเชฃ เช›เซ‡, เชคเซ‹ เชคเชฎเซ‡ เชธเซเชชเซ‹เชˆเชฒเชฐ เชนเซ‡เช เชณ เช›เซเชชเชพเชฏเซ‡เชฒเชพ เชธเชฎเชพเชตเชฟเชทเซเชŸเซ‹ เชธเชพเชฅเซ‡ เชธเซเช•เซเชฐเชฟเชชเซเชŸ เชฌเชจเชพเชตเชตเชพเชจเซ‹ เชชเซเชฐเชฏเชพเชธ เช•เชฐเซ€ เชถเช•เซ‹ เช›เซ‹, เช…เชจเซ‡ เชธเช‚เชญเชตเชคเชƒ เชฌเชงเซเช‚ เชชเซ‹เชคเซ‡ เชœ เช‡เชจเซเชธเซเชŸเซ‹เชฒ เชฅเชˆ เชœเชถเซ‡, เชเช•เชฎเชพเชคเซเชฐ เชตเชธเซเชคเซ เช›เซ‡, เชจเช•เชฒ เชœเซเชฏเชพเช‚ เชœเชฐเซ‚เชฐเซ€ เชนเซ‹เชฏ เชคเซเชฏเชพเช‚ เช‰เชชเชฐเชจเชพ เชธเซเชชเซ‹เชˆเชฒเชฐ เชนเซ‡เช เชณ TeX เชŸเซ‡เชฎเซเชชเชฒเซ‡เชŸ เชชเซ‹เชธเซเชŸ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡. เชŸเชฐเซเชฎเชฟเชจเชฒ เช–เซ‹เชฒเซ‹ เช…เชจเซ‡ เชšเชฒเชพเชตเซ‹:

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

เชชเช›เซ€ เชคเซ‡เชจเซ‡ เชจเซ€เชšเซ‡เชจเซ€ เชธเชพเชฎเช—เซเชฐเซ€เชฅเซ€ เชญเชฐเซ‹:

$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

เช†เชฆเซ‡เชถ เชธเชพเชฅเซ‡ เชคเซ‡เชจเซ‡ เชšเชฒเชพเชตเซ‹:

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

เชคเซ‡ เชญเซ‚เชฒเชถเซ‹ เชจเชนเซ€เช‚ /usr/share/texlive/template.tex เชตเชฟเชญเชพเช—เชฎเชพเช‚ เชฆเชฐเซเชถเชพเชตเซเชฏเชพ เชฎเซเชœเชฌ เชญเชฐเชตเซเช‚ เช†เชตเชถเซเชฏเช• เช›เซ‡ "md2pdf เชฐเซ‚เชชเชพเช‚เชคเชฐ เชฎเชพเชŸเซ‡ LaTeX เชŸเซ‡เชฎเซเชชเชฒเซ‡เชŸยป เชธเชพเชฎเช—เซเชฐเซ€.

md2pdf เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเชตเซ‹

เชซเช•เซเชค เชฎเชพเชฐเซเช•เชกเชพเช‰เชจ เชซเชพเช‡เชฒ เชธเชพเชฅเซ‡ เชซเซ‹เชฒเซเชกเชฐ เช–เซ‹เชฒเซ‹ (some_file.md) เชŸเชฐเซเชฎเชฟเชจเชฒเชฎเชพเช‚ เช…เชจเซ‡ เช†เชฆเซ‡เชถ เชšเชฒเชพเชตเซ‹:

user@hostname:~$ md2pdf some_file.md

เชชเชฐเชฟเชฃเชพเชฎเซ‡, เชซเซ‹เชฒเซเชกเชฐเชฎเชพเช‚ เชเช• เชซเชพเช‡เชฒ เชฆเซ‡เช–เชพเชถเซ‡ some_file.md.pdf.

เชจเชฟเชทเซเช•เชฐเซเชท

เชตเชฐเซเชฃเชตเซ‡เชฒ เชชเชฆเซเชงเชคเชฟเชจเชพ เช†เชงเชพเชฐเซ‡, เชคเชฎเซ‡ เชชเซ€เชกเซ€เชเชซ เชซเชพเช‡เชฒเซ‹เชจเซ€ เช•เซ‹เชˆเชชเชฃ เชถเซˆเชฒเซ€ เชฌเชจเชพเชตเซ€ เชถเช•เซ‹ เช›เซ‹, เชคเชฎเซ‡ md เชจเซ‡ เชฌเชฆเชฒเซ‡ เช…เชจเซเชฏ เชซเซ‹เชฐเซเชฎเซ‡เชŸเชจเซ‡ เชชเชฃ เช•เชจเซเชตเชฐเซเชŸ เช•เชฐเซ€ เชถเช•เซ‹ เช›เซ‹, เช•เซ‹เชˆเชชเชฃ Pandoc เชฆเซเชตเชพเชฐเชพ เชธเชฎเชฐเซเชฅเชฟเชค. เชนเซเช‚ เช†เชถเชพ เชฐเชพเช–เชตเชพเชจเซ€ เชนเชฟเช‚เชฎเชค เช•เชฐเซเช‚ เช›เซเช‚ เช•เซ‡ เชเช• เชฆเชฟเชตเชธ เช† เชธเซ‚เชšเชจเชพ เชธเชพเชกเชพ เชคเซเชฐเชฃ เชฒเซ‹เช•เซ‹เชจเซ‡ เช‰เชชเชฏเซ‹เช—เซ€ เชฅเชถเซ‡.

เชธเซ‹เชฐเซเชธ: www.habr.com

เชเช• เชŸเชฟเชชเซเชชเชฃเซ€ เช‰เชฎเซ‡เชฐเซ‹