ืคึฐึผืชึดืืึท
Markdown ืืื ืืจื ืืฆืืื ืช ืืืชืื ืืืืจ ืงืฆืจ, ืืืคืขืืื ืืงืกื ืืจืื ืืืื, ืขื ืขืืฆืื ืคืฉืื ืืฆืืจืช ื ืืื ืืคืื ื ืขืื. Markdown ืืื ืื ืืืชืืืช ืืืืจืื ืืืืืืื ืงืื ืืงืืจ. ืืื ืืคืขืืื ืืชื ืจืืฆื ืืืขืืืจ ืืืชื ืืงืืืฅ PDF ืจืืื ืืืขืืฆื ืืื ืืคืกื, ืืจืงืื ืขื ืืืืืจืื, ืืืื ืฉืื ืืืื ืืขืืืช ืืืืื ืืืืจื, ืื ืฉืืื ืื ืืืฉื - ืืชื ืื ืืืื ืืืชืื ืืจืืกืืช ืืชืืืืืช ืฉื ืงืื ืืืงืืจ, ืฉืืจืืช ืืจืืืืช ืืื ืืื ื ืืืขืืจืืช, ืืืขืืืช ืงืืืช ืืืจืืช ืื ืืชืงืืช. ืืืืจืืืช ืืืคืฉืจื ืื ืืืืืืจ ืืืืืจืืช ืืช ืืืืืจ md2pdf ืืื ืืืชืขืืง ืืืืช ืืื ืื ืขืืื. ืืชืกืจืื ืืืชืงื ื ืืืืืืืืช ืคืืืช ืื ืืืชืจ ื ืืฆื ืืืื ืืืืง ืืืชืืื.
ืชืื ืืช TeX ืืืืืื ืฉืื ืืืืจื ืืฉืชืืฉืช ืืืืืืช ืืืืคื ืื PSCyr, ืืืืืืช ืชืืืื ืืืืคื ืื ืฉื ืืืงืจืืกืืคื, ืืืืืจ Times New Roman. ืืื ืืื ืืืจืืฉืืช ืืชืขืืื ืขื ืคื GOST. ืื ืืชื ืืืืข ืืื, ืืชื ืืืื ืืฉื ืืช ืืช ืืชืื ืืช ืื ืฉืชืชืืื ืืฆืจืืื ืฉืื. ืืืืจืืืช ืฉืื, ืชืืืื ืชืฆืืจื ืืืชืขืกืง ืืืืืจืช PSCyr ื-TexLive. ืืืืืจื ืืชืืฆืขืช ืืืคืฆืช Linux Mint Mate; ืขืืืจ ืืคืฆืืช ืืืจืืช, ืืืชืื ืฉืชืฆืืจื ืืืคืฉ ืืืืื ืืช ืชืืงืืืช ืืืืืืืช ืืกืื ืืจืืืืช ืฉื TexLive ืขืืืจ ืืืขืจืืช ืฉืื.
ืืชืงื ืช TexLive
ืืืืื, ืืชื ืืืื ืืืชืงืื ืจืง ืืช ืืืืงืื ืฉื ืืืืื ื ืชืื ื ืฉืืชื ืฆืจืื. ืืื ืืืืคื ืืืฉื, ืืืขื ืืืืช ืืชืขืฆืืชื ืืืคืฉ ืืช ืืืชืงื ื ืืืื ืืืืืช ืื ืืจืฉืช. ืืื ืืืืืื ืฉืืื ืขืืื ืืฉืืจื, ืื ื ืืชืงืื ืื ืืช ืื ืืืืืช TexLive. ืื ื ืงืจื ืืื ืืงืกืืื ืืฉืืงื ืงืฆืช ืืืชืจ ื-2 ืืืื-ืืืื, ืืืืจ ืขืืืื ืื. ืื ื ืืืฆืขืื ืืช ืืคืงืืื:
user@hostname:~$ sudo apt install texlive-full -y
ืืืืจ ืืชืงื ื ืืจืืื ืืกืคืืง, ืืชื ืืืื ืืขืืืจ ืืฉืื ืืื.
ืืชืงื ืช ืืืืจ Pandoc
Pandoc ืืื ืืืืืช ืืื ืืงืก ืืืืคืฉืจืช ืื ืืืืืจ ืืื ืคืืจืืืื ืฉื ืืงืกื ืืืืจืื. ืืฉ ืื ืืจืื ืชืืื ืืช ืืขื ืืื ืืช ืฉืชืืืื ืืืืืจ ืืืื ืืจื ื. ืื ื ืืขืื ืืื ืื ืจืง ืืืคืฉืจืืช ืืืืืจ ืงืืืฅ ืกืืืื ื-PDF. ืืื ื ืืืืง ืื Pandoc ืืืชืงื ืืื ืื, ืืชืงื ืืืชื. ืืืฉื ืืื:
user@hostname:~$ dpkg -s pandoc
ืื ืืคืื ืืืืจ ืฉืืื ืื ืืืชืงื, ืืชืงื ืืืชื:
user@hostname:~$ sudo apt install pandoc -y
ืืชืงื ืช ืืืืืช 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
ืชืื ืืช LaTeX ืืืืจืช md2pdf
ืื ืืชืืจ ืืื ืืืืืง ืืชืื ืืช ืืื ืืืืืจืช, ืืคืฉืื ืืฆืื ืืืชื ืชืืช ืกืคืืืืจ ืืื ืืจืื ืืกืืจ. ืื ืืืืจ ืฉืืื ืืืืืจ ืืืื, ืืคืืืช ืืืืคื ืฉืื ืืื ืืขืื ืืงืกืืื ืขื ืืจืื ืงืื ืืงืืจ. ืื ืืชื ืื ืืจืืฆื ืืืืื ืืฉืงืขืื, ืืจืืื ืืื ืฉืืจืืช, ืืืกืจ ืืกืคืืจ ืฉื ืงืืขืื ืืชืชื ืกืขืืคืื, ืื ืืืขืชื ืื ืงื ืืืคืฉ ืืืืื ืืช ืืฉืืื "ืืื ืขืืฉืื ืืืืงืก..." ืืื ืืช ืืฆืืจื ืฉืื. ืื ืื ืืืืจื ืื ืืจืืจ, ืืชืื ืืชืืืืืช, ืื ื ืื ืกื ืืืชืขืืง ืืืืืจืืช ืฉืื ืืืคื ื 4 ืฉื ืื ืืืชืืจ ืืืื ืฉืืจื ืืชืื ืืช ืืืจืืืช ืืื. ืืื ืชืืื, ืื ื ืืชืืจ ืืื ืขืฉืืชื ืืช ืื ืืืืฉื ืฉืื, ืืืชื ืืืคืฉื ืืืืืจ ืื ืืฉื ืืช ืืช ืื ืืื ืืืชืืื ืืขืฆืื.
ืฆืืจ ืงืืืฅ 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 ืืืืชืื ืกืงืจืืคื ืฉืืืืจ ืืช ืงืืืฅ Makrdown ื-PDF, ืชืื ืืฆืืจืช ืืืืชื ืชืืงืื ืงืืืฅ ืืฉื Markdown file ืขื ืงืืืืืช .pdf, ืืืืืจ ืืืืจ ืืืืจื ืฉื ืงืืืฅ.md ืืืคืืข ืืชืืงืืื ืฉื ืงืืืฅ.md.pdf. ืืืื ื ืงืจื ืืชืกืจืื md2pdf ืืืฉืื ืืช ืื ืืืจื / usr / bin. ืืืื ื ืืฆืข ืืช ืืคืงืืืืช ืืจืฆืฃ:
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
ืืฉืืจื ืืจืืืขืืช ืืืืื ืืืขืฉื ืืช ืคืงืืืช ืืืืจื. ืฉืื ืื ื --from=markdown_github. ืืจืกืช GitHub ืฉื Markdown ืชืืืืช ืืืืืจ ื-Markdown ืืืงืืจื, ืื ืฉืื ืืืงืกื ืฉืื ืืชืื ืื, ืืื ื ืฆืจืื ืืืืื. ืื ืงืืืฅ ื-MD ืฉืื ืืชืื ืื ืื ืกืคืฆืืคื ืฉื Markdown, ืงืจื ืืช ืืืืจืื ืฉื Pandoc (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 ืืฉ ืืืื ืืคื ืฉืืฆืืื ืืกืขืืฃ "ืชืื ืืช LaTeX ืืืืจืช md2pdfยป ืชืืื.
ืฉืืืืฉ ื-md2pdf
ืคืฉืื ืคืชื ืืช ืืชืืงืื ืขื ืงืืืฅ Markdown (some_file.md) ืืืจืืื ื, ืืืคืขื ืืช ืืคืงืืื:
user@hostname:~$ md2pdf some_file.md
ืืชืืฆืื ืืื, ืืืคืืข ืงืืืฅ ืืชืืงืืื some_file.md.pdf.
ืืกืงื ื
ืืืชืืกืก ืขื ืืฉืืื ืืืชืืืจืช, ืืชื ืืืื ืืื ืืช ืื ืกืื ืื ืฉื ืงืืฆื PDF; ืืชื ืืืื ืื ืืืืืจ ืคืืจืืืื ืืืจืื, ืื ืื ืชืืืื ืขื ืืื Pandoc, ืืืงืื md. ืื ื ืืขื ืืงืืืช ืฉืืื ืืื ืืืืจืื ืืื ืชืืื ืฉืืืืฉืืช ื-3 ืืืฆื ืื ืฉืื.
ืืงืืจ: www.habr.com