เบเบฒเบ™เปเบเป‰เป„เบ‚ markdown2pdf เบ—เบตเปˆเบเบฝเบกเบžเป‰เบญเบกเบ—เบตเปˆเบกเบตเบฅเบฐเบซเบฑเบ”เปเบซเบผเปˆเบ‡เบชเปเบฒเบฅเบฑเบš Linux

เบ„เปเบฒเบญเบฐเบ—เบดเบ–เบฒเบ™

Markdown เปเบกเปˆเบ™เบงเบดเบ—เบตเบ—เบตเปˆเบ”เบตเบ—เบตเปˆเบˆเบฐเบ‚เบฝเบ™เบšเบปเบ”เบ„เบงเบฒเบกเบชเบฑเป‰เบ™, เปเบฅเบฐเบšเบฒเบ‡เบ„เบฑเป‰เบ‡เบเปเปˆเบกเบตเบ‚เปเป‰เบ„เบงเบฒเบกเบซเบผเบฒเบ, เบ”เป‰เบงเบเบฎเบนเบšเปเบšเบšเบ•เบปเบงเบญเบฝเบ‡เบ—เบตเปˆเบ‡เปˆเบฒเบเบ”เบฒเบเปเบฅเบฐเบเป‰เบฒเบซเบฒเบ™. Markdown เบเบฑเบ‡เบ”เบตเบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ‚เบฝเบ™เบšเบปเบ”เบ„เบงเบฒเบกเบ—เบตเปˆเบกเบตเบฅเบฐเบซเบฑเบ”เปเบซเบผเปˆเบ‡เบฅเบงเบก. เปเบ•เปˆเบšเบฒเบ‡เบ„เบฑเป‰เบ‡เบ—เปˆเบฒเบ™เบ•เป‰เบญเบ‡เบเบฒเบ™เบชเบนเบ™เป€เบชเบเบขเปˆเบฒเบ‡เบšเปเปˆเบขเบธเบ”เบขเบฑเป‰เบ‡, เป€เบ•เบฑเป‰เบ™เบฅเปเบฒเบเบฑเบš tambourine เป€เบžเบทเปˆเบญเป€เบญเบปเบฒเบŠเบฐเบ™เบฐเบกเบฑเบ™เป€เบ‚เบปเป‰เบฒเป„เบ›เปƒเบ™เป„เบŸเบฅเปŒ PDF เบ›เบปเบเบเบฐเบ•เบด, เบฎเบนเบšเปเบšเบšเบ—เบตเปˆเบ”เบต, เปเบฅเบฐเป€เบžเบทเปˆเบญเบšเปเปˆเปƒเบซเป‰เบกเบตเบšเบฑเบ™เบซเบฒเปƒเบ™เบฅเบฐเบซเบงเปˆเบฒเบ‡เบเบฒเบ™เบ›เปˆเบฝเบ™เปƒเบˆเป€เบซเบฅเบทเป‰เบญเบกเปƒเบช, เป€เบŠเบดเปˆเบ‡, เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบเบปเบเบ•เบปเบงเบขเปˆเบฒเบ‡, เบ‚เป‰เบฒเบžเบฐเป€เบˆเบปเป‰เบฒเป„เบ”เป‰ - เบ—เปˆเบฒเบ™เบšเปเปˆเบชเบฒเบกเบฒเบ”เบ‚เบฝเบ™เป€เบ›เบฑเบ™เบžเบฒเบชเบฒเบฅเบฑเบ”เป€เบŠเบเปƒเบ™. เบ„เปเบฒเป€เบซเบฑเบ™เบ‚เบญเบ‡เบฅเบฐเบซเบฑเบ”เปเบซเบผเปˆเบ‡, เบชเบฒเบเบเบฒเบงเป€เบเบตเบ™เป„เบ›เบšเปเปˆเป„เบ”เป‰เบ–เบทเบเป‚เบญเบ™, เปเบ•เปˆเบ–เบทเบเบ•เบฑเบ”เปเบฅเบฐเบšเบฑเบ™เบซเบฒเป€เบฅเบฑเบเบ™เป‰เบญเบเบญเบทเปˆเบ™เป†. เบ„เปเบฒเปเบ™เบฐเบ™เปเบฒเบˆเบฐเบŠเปˆเบงเบเปƒเบซเป‰เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบ•เบฑเป‰เบ‡เบ„เปˆเบฒเบ•เบปเบงเปเบ›เบ‡เป„เบ”เป‰เป„เบง md2pdf เป‚เบ”เบเบšเปเปˆเบกเบตเบเบฒเบ™เป€เบ‚เบปเป‰เบฒเปƒเบˆเปเบ—เป‰เป†เบงเปˆเบฒเบกเบฑเบ™เป€เบฎเบฑเบ”เบงเบฝเบเปเบ™เบงเปƒเบ”. script เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ•เบดเบ”เบ•เบฑเป‰เบ‡เบญเบฑเบ”เบ•เบฐเป‚เบ™เบกเบฑเบ”เบซเบผเบฒเบเบซเบผเบทเบซเบ™เป‰เบญเบเปเบกเปˆเบ™เบขเบนเปˆเบ‚เป‰เบฒเบ‡เบฅเบธเปˆเบกเบ™เบตเป‰เปƒเบ™เบžเบฒเบเบ—เบตเปˆเป€เบซเบกเบฒเบฐเบชเบปเบก.

เบ•เบปเบงเบขเปˆเบฒเบ‡เบ‚เบญเบ‡เปเบกเปˆเปเบšเบš TeX เบ‚เบญเบ‡เบ‚เป‰เบญเบเบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ›เปˆเบฝเบ™เปƒเบˆเป€เบซเบฅเบทเป‰เบญเบกเปƒเบชเปƒเบŠเป‰เบŠเบธเบ”เบ•เบปเบงเบญเบฑเบเบชเบญเบ™ PSCyr, เป€เบŠเบดเปˆเบ‡เบฅเบงเบกเบกเบตเบเบฒเบ™เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เบ•เบปเบงเบญเบฑเบเบชเบญเบ™ Microsoft, เบ„เบท Times new roman. เบกเบตเบ‚เปเป‰เบเปเบฒเบ™เบปเบ”เบ”เบฑเปˆเบ‡เบเปˆเบฒเบงเบชเปเบฒเบฅเบฑเบšเบ›เบฐเบฅเบดเบ™เบเบฒเบ•เบตเบ•เบฒเบก GOST. เบ–เป‰เบฒเบ—เปˆเบฒเบ™เบฎเบนเป‰เบงเบดเบ—เบต, เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบ”เบฑเบ”เปเบ›เบ‡เปเบกเปˆเปเบšเบšเปƒเบซเป‰เป€เบซเบกเบฒเบฐเบชเบปเบกเบเบฑเบšเบ„เบงเบฒเบกเบ•เป‰เบญเบ‡เบเบฒเบ™เบ‚เบญเบ‡เบ—เปˆเบฒเบ™. เปƒเบ™เบ„เปเบฒเปเบ™เบฐเบ™เปเบฒเบ‚เบญเบ‡เบ‚เป‰เบญเบเป€เบญเบ‡, เบ—เปเบฒเบญเบดเบ”เป€เบˆเบปเป‰เบฒเบˆเบฐเบ•เป‰เบญเบ‡เบซเบฅเบญเบเบฅเบงเบ‡เบ”เป‰เบงเบเบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒ PSCyr เปƒเบ™ TexLive. เบเบฒเบ™เบ•เบดเบ”เบ•เบฑเป‰เบ‡เปเบกเปˆเบ™เป€เบฎเบฑเบ”เบขเบนเปˆเปƒเบ™เบเบฒเบ™เปเบˆเบเบขเบฒเบ Linux Mint Mate, เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เปเบˆเบเบขเบฒเบเบญเบทเปˆเบ™เป†เบ—เปˆเบฒเบ™เบญเบฒเบ”เบˆเบฐเบ•เป‰เบญเบ‡ google เป‚เบŸเป€เบ”เบตเปเบžเบฑเบเป€เบเบฑเบ” TexLive เบกเบฒเบ”เบ•เบฐเบ–เบฒเบ™เบชเปเบฒเบฅเบฑเบšเบฅเบฐเบšเบปเบšเบ‚เบญเบ‡เบ—เปˆเบฒเบ™.

เบเบณเบฅเบฑเบ‡เบ•เบดเบ”เบ•เบฑเป‰เบ‡ TexLive

เปเบ™เปˆเบ™เบญเบ™, เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบ•เบดเบ”เบ•เบฑเป‰เบ‡เบžเบฝเบ‡เปเบ•เปˆเบชเปˆเบงเบ™เบ—เบตเปˆเบˆเปเบฒเป€เบ›เบฑเบ™เบ‚เบญเบ‡เบŠเบธเบ”เบ™เบตเป‰. เปเบ•เปˆเป‚เบ”เบเบชเปˆเบงเบ™เบ•เบปเบงเปเบฅเป‰เบง, เบ‚เป‰เบฒเบžเบฐเป€เบˆเบปเป‰เบฒเป€เบงเบปเป‰เบฒเบเบปเบ‡เป„เบ›เบเบปเบ‡เบกเบฒ lazy เป€เบเบตเบ™เป„เบ›เบ—เบตเปˆเบˆเบฐเบŠเบญเบเบซเบฒเบเบฒเบ™เบ•เบดเบ”เบ•เบฑเป‰เบ‡เบ—เบตเปˆเบกเบตเบ„เบงเบฒเบกเบˆเปเบฒเป€เบ›เบฑเบ™เบ•เปเบฒเปˆเบชเบธเบ”เบ—เบตเปˆเป€เบฎเบฑเบ”เบงเบฝเบ. เป€เบžเบทเปˆเบญเปƒเบซเป‰เปเบ™เปˆเปƒเบˆเบงเปˆเบฒเบ—เบธเบเบขเปˆเบฒเบ‡เป€เบฎเบฑเบ”เบงเบฝเบ, เปƒเบซเป‰เบ•เบดเบ”เบ•เบฑเป‰เบ‡เปเบžเบฑเบเป€เบเบฑเบ” TexLive เบ—เบฑเบ‡เปเบปเบ”. เบกเบฑเบ™โ€‹เบ–เบทเบโ€‹เป€เบญเบตเป‰เบ™โ€‹เบงเปˆเบฒ เป€เบ•เบฑเบกเบ‚เปเป‰เบ„เบงเบฒเบก เปเบฅเบฐเบกเบตเบ™เปเป‰เบฒเปœเบฑเบเปœเป‰เบญเบเบเบงเปˆเบฒ 2 เบเบดเบเบฒเป„เบš, เปƒเบซเป‰เบˆเบทเปˆเบ„เบงเบฒเบกเบˆเบดเบ‡เบ™เบตเป‰เป„เบงเป‰. เบžเบงเบเป€เบฎเบปเบฒเบ›เบฐเบ•เบดเบšเบฑเบ”เบ„เปเบฒเบชเบฑเปˆเบ‡:

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

เบซเบผเบฑเบ‡โ€‹เบˆเบฒเบโ€‹เบเบฒเบ™โ€‹เบ•เบดเบ”โ€‹เบ•เบฑเป‰เบ‡โ€‹เบเบฒเบงโ€‹เบžเบฝเบ‡โ€‹เบžเปโ€‹, เบ—เปˆเบฒเบ™โ€‹เบชเบฒโ€‹เบกเบฒเบ”โ€‹เบ”เปเบฒโ€‹เป€เบ™เบตเบ™โ€‹เบเบฒเบ™โ€‹เบ•เปเปˆโ€‹เป„เบ›โ€‹.

เบเบฒเบ™เบ•เบดเบ”เบ•เบฑเป‰เบ‡เบ•เบปเบงเปเบ›เบ‡ Pandoc

Pandoc เป€เบ›เบฑเบ™เปเบžเบฑเบเป€เบเบฑเบ” Linux เบ—เบตเปˆเบญเบฐเบ™เบธเบเบฒเบ”เปƒเบซเป‰เบ—เปˆเบฒเบ™เบ›เปˆเบฝเบ™เบšเบฒเบ‡เบฎเบนเบšเปเบšเบšเบ‚เปเป‰เบ„เบงเบฒเบกเป€เบ›เบฑเบ™เบญเบฑเบ™เบญเบทเปˆเบ™. เบกเบฑเบ™เบกเบตเบซเบผเบฒเบเบฅเบฑเบเบชเบฐเบ™เบฐเบ—เบตเปˆเบซเบ™เป‰เบฒเบชเบปเบ™เปƒเบˆเบ—เบตเปˆเบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบŠเบญเบเบซเบฒเบ•เบปเบงเบ—เปˆเบฒเบ™เป€เบญเบ‡เปƒเบ™เบญเบดเบ™เป€เบ•เบตเป€เบ™เบฑเบ”. เบžเบงเบเป€เบฎเบปเบฒเบžเบฝเบ‡เปเบ•เปˆเบกเบตเบ„เบงเบฒเบกเบชเบปเบ™เปƒเบˆเปƒเบ™เบ„เบงเบฒเบกเป€เบ›เบฑเบ™เป„เบ›เป„เบ”เป‰เบ‚เบญเบ‡เบเบฒเบ™เบ›เปˆเบฝเบ™เป„เบŸเบฅเปŒ markdown เป€เบ›เบฑเบ™ PDF. เบเบงเบ”เป€เบšเบดเปˆเบ‡เบงเปˆเบฒ Pandoc เบ–เบทเบเบ•เบดเบ”เบ•เบฑเป‰เบ‡เบซเบผเบทเบšเปเปˆ, เบ•เบดเบ”เบ•เบฑเป‰เบ‡เบกเบฑเบ™. เบ•เบปเบงเบขเปˆเบฒเบ‡เป€เบŠเบฑเปˆเบ™เบ™เบตเป‰:

user@hostname:~$ dpkg -s pandoc

เบ–เป‰เบฒเบœเบปเบ™เป„เบ”เป‰เบฎเบฑเบšเบšเบญเบเบงเปˆเบฒเบกเบฑเบ™เบšเปเปˆเป„เบ”เป‰เบ•เบดเบ”เบ•เบฑเป‰เบ‡, เปƒเบซเป‰เบ•เบดเบ”เบ•เบฑเป‰เบ‡:

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

เบเบฒเบ™เบ•เบดเบ”เบ•เบฑเป‰เบ‡เบŠเบธเบ” PSCyr เบชเปเบฒเบฅเบฑเบš TexLive

เบเปˆเบญเบ™เบญเบทเปˆเบ™ เปเบปเบ” เบ—เปˆเบฒเบ™เบ•เป‰เบญเบ‡เบ”เบฒเบงเป‚เบซเบฅเบ” PSCyr. เบชเปเบฒเบฅเบฑเบšเปƒเบ™เบ›เบฑเบ”เบˆเบธเบšเบฑเบ™เบกเบฑเบ™เบเบฑเบ‡เบกเบตเบขเบนเปˆเปƒเบ™เบ™เบตเป‰ เบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆ, เบ–เป‰เบฒเปƒเบ™เป€เบงเบฅเบฒเบ—เบตเปˆเบญเปˆเบฒเบ™เบšเบปเบ”เบ„เบงเบฒเบกเบกเบฑเบ™เบšเปเปˆเบกเบตเบชเปเบฒเบฅเบฑเบšเป€เบซเบ”เบœเบปเบ™เบšเบฒเบ‡เบขเปˆเบฒเบ‡, เบขเปˆเบฒเบซเบกเบปเบ”เบซเบงเบฑเบ‡, เบกเบฑเบ™เบ‡เปˆเบฒเบเบ—เบตเปˆเบˆเบฐเบŠเบญเบเบซเบฒเบกเบฑเบ™เบžเป‰เบญเบกเบเบฑเบšเบ„เปเบฒเปเบ™เบฐเบ™เปเบฒเบเบฒเบ™เบ•เบดเบ”เบ•เบฑเป‰เบ‡เป‚เบ”เบเบเบฒเบ™เบžเบดเบกเบšเบฒเบ‡เบชเบดเปˆเบ‡เบšเบฒเบ‡เบขเปˆเบฒเบ‡เป€เบŠเบฑเปˆเบ™: "เบเบฒเบ™เบ•เบดเบ”เบ•เบฑเป‰เบ‡ PsCyr texlive" เปƒเบ™ Google. เบ–เป‰เบฒเบกเบฑเบ™เบกเบตเบขเบนเปˆ, เบกเบฑเบ™เบ‡เปˆเบฒเบเบเบงเปˆเบฒเบชเปเบฒเบฅเบฑเบšเบ—เปˆเบฒเบ™, เบ”เบฒเบงเป‚เบซเบฅเบ”เปเบฅเบฐเบžเบงเบเป€เบฎเบปเบฒเบˆเบฐเบชเบปเบกเบกเบธเบ”เบงเปˆเบฒเบ—เปˆเบฒเบ™เป„เบ”เป‰ unpacked archive เป€เบ‚เบปเป‰เบฒเป„เบ›เปƒเบ™เป‚เบŸเบ™เป€เบ”เบตเป€เบฎเบทเบญเบ™เบ‚เบญเบ‡เบ—เปˆเบฒเบ™เปเบฅเบฐเบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™เป€เบชเบฑเป‰เบ™เบ—เบฒเบ‡เป„เบ›เบซเบฒเป‚เบŸเบ™เป€เบ”เบตเบ—เบตเปˆเบกเบตเบขเบนเปˆเปƒเบ™ archive เป€เบšเบดเปˆเบ‡เบ„เบทเบงเปˆเบฒ. ~/PSCyr. เบˆเบฒเบเบ™เบฑเป‰เบ™เป„เบ›เบ—เบตเปˆ Terminal เปเบฅเบฐเบ›เบฐเบ•เบดเบšเบฑเบ”เบ„เปเบฒเบชเบฑเปˆเบ‡เบ•เปเปˆเป„เบ›เบ™เบตเป‰เบ•เบฒเบกเบฅเปเบฒเบ”เบฑเบš:

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

เปเบกเปˆเปเบšเบš LaTeX เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ›เปˆเบฝเบ™ md2pdf

เบ‚เป‰เบฒโ€‹เบžเบฐโ€‹เป€เบˆเบปเป‰เบฒโ€‹เบˆเบฐโ€‹เบšเปเปˆโ€‹เบญเบฐโ€‹เบ—เบดโ€‹เบšเบฒเบโ€‹เบขเปˆเบฒเบ‡โ€‹เปเบ™เปˆโ€‹เบ™เบญเบ™โ€‹เบงเปˆเบฒโ€‹เปเบกเปˆโ€‹เปเบšเบšโ€‹เบ™เบตเป‰โ€‹เปเบกเปˆเบ™โ€‹เบเบฒเบ™โ€‹เบ•เบฑเป‰เบ‡โ€‹เบ„เปˆเบฒโ€‹, เปเบฅเบฐโ€‹เบžเบฝเบ‡โ€‹เปเบ•เปˆโ€‹เบˆเบฐโ€‹เปƒเบซเป‰โ€‹เบกเบฑเบ™โ€‹เบขเบนเปˆโ€‹เบžเบฒเบโ€‹เปƒเบ•เป‰ spoiler เป‚เบ”เบโ€‹เบšเปเปˆโ€‹เบกเบตโ€‹เบเบฒเบ™โ€‹เบญเบฐโ€‹เบ—เบดโ€‹เบšเบฒเบโ€‹เบซเบผเบฒเบโ€‹. เบกเบฑเบ™เบžเบฝเบ‡เบžเปเบ—เบตเปˆเบˆเบฐเป€เบงเบปเป‰เบฒเบงเปˆเบฒเบกเบฑเบ™เบ–เบทเบเบ•เบฑเป‰เบ‡เบ„เปˆเบฒเป„เบ”เป‰เบ”เบต, เบขเปˆเบฒเบ‡เบซเบ™เป‰เบญเบเปƒเบ™เปเบ‡เปˆเบ‚เบญเบ‡เบงเบดเบ—เบตเบ—เบตเปˆเบกเบฑเบ™เบˆเบฑเบ”เบเบฒเบ™เบเบฑเบšเบ‚เปเป‰เบ„เบงเบฒเบกเบ—เบตเปˆเบกเบตเบฅเบฐเบซเบฑเบ”เปเบซเบผเปˆเบ‡เบˆเปเบฒเบ™เบงเบ™เบซเบฅเบฒเบ. เบ–เป‰เบฒเบ—เปˆเบฒเบ™เบšเปเปˆเบžเปเปƒเบˆเบเบฑเบšเบ‚เบฐเบซเบ™เบฒเบ”เบ‚เบญเบ‡เบซเบเปเป‰เบซเบ™เป‰เบฒ, เป„เบฅเบเบฐเบซเปˆเบฒเบ‡เบ‚เบญเบ‡เป€เบชเบฑเป‰เบ™, เบเบฒเบ™เบ‚เบฒเบ”เบ•เบปเบงเป€เบฅเบเบ‚เบญเบ‡เบžเบฒเบเบชเปˆเบงเบ™เปเบฅเบฐเบชเปˆเบงเบ™เบเปˆเบญเบ, เบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™เปƒเบ™เบ„เบงเบฒเบกเบ„เบดเบ”เป€เบซเบฑเบ™เบ‚เบญเบ‡เบ‚เป‰เบญเบเบกเบฑเบ™เบ‚เป‰เบญเบ™เบ‚เป‰เบฒเบ‡เบ‡เปˆเบฒเบเบ—เบตเปˆเบˆเบฐ google เบ„เปเบฒเบ–เบฒเบกเปƒเบ™เบญเบดเบ™เป€เบ•เบตเป€เบ™เบฑเบ” "เบงเบดเบ—เบตเบเบฒเบ™เป€เบฎเบฑเบ”เบกเบฑเบ™เปƒเบ™ Latex ... " เปเบฅเบฐ เบซเบผเบฑเบ‡โ€‹เบˆเบฒเบโ€‹เบ™เบฑเป‰เบ™โ€‹เบ„เบงเบฒเบกโ€‹เบ•เป‰เบญเบ‡โ€‹เบเบฒเบ™โ€‹เบ‚เบญเบ‡โ€‹เบ—เปˆเบฒเบ™โ€‹. เบ–เป‰เบฒเบกเบฑเบ™เบšเปเปˆเบŠเบฑเบ”เป€เบˆเบ™เบ—เบฑเบ‡เบซเบกเบปเบ”, เบ‚เบฝเบ™เปƒเบ™เบ„เปเบฒเป€เบซเบฑเบ™, เบ‚เป‰เบญเบเบˆเบฐเบžเบฐเบเบฒเบเบฒเบก delve เป€เบ‚เบปเป‰เบฒเป„เบ›เปƒเบ™เบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒเบ‚เบญเบ‡เบ‚เป‰เบญเบเป€เบญเบ‡เป€เบกเบทเปˆเบญ 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

เป€เบ›เบตเบ”เบกเบฑเบ™เบžเบฒเบเปƒเบ•เป‰เบฎเบฒเบเปเบฅเบฐเบงเบฒเบ‡เป€เบ™เบทเป‰เบญเปƒเบ™เบ—เบตเปˆเป€เบŠเบทเปˆเบญเบ‡เป„เบงเป‰เบžเบฒเบเปƒเบ•เป‰ spoiler เบ‚เป‰เบฒเบ‡เบฅเบธเปˆเบกเบ™เบตเป‰เป€เบ‚เบปเป‰เบฒเป„เบ›เปƒเบ™เบกเบฑเบ™:

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 เปเบฅเบฐเบ‚เบฝเบ™เบชเบฐเบ„เบดเบšเบ—เบตเปˆเบˆเบฐเบ›เปˆเบฝเบ™เป„เบŸเบฅเปŒ Makrdown เป€เบ›เบฑเบ™ PDF, เบชเป‰เบฒเบ‡เบขเบนเปˆเปƒเบ™เป‚เบŸเบ™เป€เบ”เบตเบ”เบฝเบงเบเบฑเบ™เบเบฑเบšเป„เบŸเบฅเปŒเบ—เบตเปˆเป€เบญเบตเป‰เบ™เบงเปˆเบฒเป„เบŸเบฅเปŒ Markdown เบ—เบตเปˆเบกเบตเบ„เปเบฒเบ™เปเบฒเบซเบ™เป‰เบฒ .pdf, เบ™เบฑเป‰เบ™เปเบกเปˆเบ™, เบซเบผเบฑเบ‡เบˆเบฒเบเบเบฒเบ™เบ›เปˆเบฝเบ™เปเบ›เบ‡. filename.md เบˆเบฐเบ›เบฒเบเบปเบ”เบขเบนเปˆเปƒเบ™เป‚เบŸเบ™เป€เบ”เบต. เบŠเบทเปˆเป„เบŸเบฅเปŒ.md.pdf. เปƒเบซเป‰เป‚เบ—เบซเบฒ script 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. เบชเบฐเบšเบฑเบš GitHub เบ‚เบญเบ‡ Markdown เปเบกเปˆเบ™เป€เบ‚เบปเป‰เบฒเบเบฑเบ™เป„เบ”เป‰เบเบฑเบš Markdown เบ•เบปเป‰เบ™เบชเบฐเบšเบฑเบš, เบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™เบ–เป‰เบฒเบ‚เปเป‰เบ„เบงเบฒเบกเบ‚เบญเบ‡เบ—เปˆเบฒเบ™เบ–เบทเบเบ‚เบฝเบ™เป„เบงเป‰เปƒเบ™เบกเบฑเบ™, เบ—เปˆเบฒเบ™เบšเปเปˆเบˆเปเบฒเป€เบ›เบฑเบ™เบ•เป‰เบญเบ‡เบเบฑเบ‡เบงเบปเบ™. เบ–เป‰เบฒเป„เบŸเบฅเปŒ MD เบ‚เบญเบ‡เบ—เปˆเบฒเบ™เบ–เบทเบเบ‚เบฝเบ™เป„เบงเป‰เปƒเบ™เบžเบฒเบชเบฒ Markdown เบชเบฐเป€เบžเบฒเบฐ, เบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™เปƒเบซเป‰เบญเปˆเบฒเบ™เบ„เบนเปˆเบกเบท Pandoc (man pandoc), เปƒเบซเป‰เปเบ™เปˆเปƒเบˆเบงเปˆเบฒเบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบ‚เบญเบ‡เบ—เปˆเบฒเบ™เป„เบ”เป‰เบฎเบฑเบšเบเบฒเบ™เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เบˆเบฒเบเบกเบฑเบ™, เปเบฅเบฐ tweak /usr/bin/md2pdf เบ–เป‰เบฒเบˆเปเบฒเป€เบ›เบฑเบ™.

Script เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ•เบดเบ”เบ•เบฑเป‰เบ‡เบญเบฑเบ”เบ•เบฐเป‚เบ™เบกเบฑเบ”เบซเบผเบฒเบเบซเบผเบทเบซเบ™เป‰เบญเบ

เบ–เป‰เบฒเบ—เปˆเบฒเบ™เบšเปเปˆเบ•เป‰เบญเบ‡เบเบฒเบ™เบ—เบตเปˆเบˆเบฐเบ•เบฑเป‰เบ‡เบ„เปˆเบฒเบซเบเบฑเบ‡เป€เบฅเบตเบ, เปเบฅเบฐเบ—เปˆเบฒเบ™เบกเบตเบเบฒเบ™เปเบˆเบเบขเบฒเบเบ—เบตเปˆเบ„เป‰เบฒเบเบ„เบทเบเบฑเบš Ubuntu, เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบฅเบญเบ‡เบชเป‰เบฒเบ‡ script เบ—เบตเปˆเบกเบตเป€เบ™เบทเป‰เบญเบซเบฒเบ—เบตเปˆเป€เบŠเบทเปˆเบญเบ‡เป„เบงเป‰เบžเบฒเบเปƒเบ•เป‰ spoiler, เปเบฅเบฐเบชเปˆเบงเบ™เบซเบผเบฒเบเปเบกเปˆเบ™เบ—เบธเบเบชเบดเปˆเบ‡เบ—เบธเบเบขเปˆเบฒเบ‡เบˆเบฐเบ•เบดเบ”เบ•เบฑเป‰เบ‡เป€เบญเบ‡, เบชเบดเปˆเบ‡เบ”เบฝเบงเปเบกเปˆเบ™, เบ„เบฑเบ”เบฅเบญเบ. เปเบกเปˆเปเบšเบš TeX เบˆเบฑเบ”เบžเบตเบกเบกเบฒเบžเบฒเบเปƒเบ•เป‰ spoiler เบ‚เป‰เบฒเบ‡เป€เบ—เบดเบ‡เป„เบ›เบซเบฒเบšเปˆเบญเบ™เบ—เบตเปˆเบ—เปˆเบฒเบ™เบ•เป‰เบญเบ‡เบเบฒเบ™เบ”เป‰เบงเบเบ•เบปเบ™เป€เบญเบ‡. เป€เบ›เบตเบ” Terminal เปเบฅเบฐเบ”เปเบฒเป€เบ™เบตเบ™เบเบฒเบ™:

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 เบˆเบฐเบ•เป‰เบญเบ‡เบ•เบทเปˆเบกเปƒเบชเปˆเบ•เบฒเบกเบ—เบตเปˆเบฅเบฐเบšเบธเป„เบงเป‰เปƒเบ™เบžเบฒเบ "เปเบกเปˆเปเบšเบš LaTeX เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ›เปˆเบฝเบ™ md2pdfยป เป€เบ™เบทเป‰เบญโ€‹เปƒเบ™โ€‹.

เปƒเบŠเป‰ md2pdf

เบžเบฝเบ‡เปเบ•เปˆเป€เบ›เบตเบ”เป‚เบŸเบ™เป€เบ”เบตเบ”เป‰เบงเบเป„เบŸเบฅเปŒ Markdown (some_file.md) เปƒเบ™ Terminal เปเบฅเบฐเบ”เปเบฒเป€เบ™เบตเบ™เบเบฒเบ™เบ„เปเบฒเบชเบฑเปˆเบ‡:

user@hostname:~$ md2pdf some_file.md

เบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™, เป„เบŸเบฅเปŒเบˆเบฐเบ›เบฒเบเบปเบ”เบขเบนเปˆเปƒเบ™เป‚เบŸเบ™เป€เบ”เบต some_file.md.pdf.

เบชเบฐเบซเบฅเบธเบš

เบญเบตเบ‡เบ•เบฒเบกเบงเบดเบ—เบตเบเบฒเบ™เบ—เบตเปˆเบญเบฐเบ—เบดเบšเบฒเบ, เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบชเป‰เบฒเบ‡เบฎเบนเบšเปเบšเบšเบ‚เบญเบ‡เป„เบŸเบฅเปŒ PDF เปƒเบ”เบเปเปˆเบ•เบฒเบก, เบ—เปˆเบฒเบ™เบเบฑเบ‡เบชเบฒเบกเบฒเบ”เบ›เปˆเบฝเบ™เบฎเบนเบšเปเบšเบšเบญเบทเปˆเบ™เปเบ—เบ™ md, เป€เบŠเบดเปˆเบ‡เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เป‚เบ”เบ Pandoc. เบ‚เป‰เบฒเบžเบฐเป€เบˆเบปเป‰เบฒเบเป‰เบฒเบซเบงเบฑเบ‡เบงเปˆเบฒเบกเบทเป‰เบซเบ™เบถเปˆเบ‡เบ„เปเบฒเปเบ™เบฐเบ™เปเบฒเบ™เบตเป‰เบˆเบฐเป€เบ›เบฑเบ™เบ›เบฐเป‚เบซเบเบ”เบชเปเบฒเบฅเบฑเบš 3 เปเบฅเบฐเป€เบ„เบดเปˆเบ‡เบซเบ™เบถเปˆเบ‡เบ„เบปเบ™.

เปเบซเบผเปˆเบ‡เบ‚เปเป‰เบกเบนเบ™: www.habr.com

เป€เบžเบตเปˆเบกเบ„เบงเบฒเบกเบ„เบดเบ”เป€เบซเบฑเบ™