Fa'ailoga fa'ailoga2pdf saunia fa'atasi ma le fa'ailoga puna mo Linux

Upu Tomua

O le Markdown o se auala sili lea e tusi ai se tala puupuu, ma o nisi taimi e fai si umi o tusitusiga, faʻatasi ai ma le faʻapipiʻiina faigofie i foliga o le faʻailoga ma le mafiafia vai. E lelei foʻi le Markdown mo le tusiaina o tala e aofia ai le code source. Ae o nisi taimi e te manaʻo e faʻafeiloaʻi i totonu o se faila PDF masani, faʻapipiʻi lelei e aunoa ma se gau, siva ma se topa, ma ina ia leai ni faʻafitauli i le taimi o le liua, lea, mo se faʻataʻitaʻiga, na ou maua - e le mafai ona e tusia i le gagana Rusia i faʻamatalaga. o le source code, o laina uumi tele e le faʻafeiloaʻi, ma isi faʻafitauli laiti e motusia. O fa'atonuga o le a fa'ataga ai oe e fa'atulaga vave le fa'aliliu md2pdf e aunoa ma le su'esu'eina o le auala e galue ai. O le fa'amaumauga mo se fa'apipi'i otometi pe itiiti ifo o lo'o i lalo i le vaega e fetaui.

O laʻu faʻataʻitaʻiga TeX template mo le liua e faʻaaoga ai le pusa PSCyr font, lea e aofia ai le lagolago mo Microsoft fonts, o lona uiga Times New Roma. O mea ia e mana'omia mo se tipiloma e tusa ai ma GOST. Afai e te iloa, e mafai ona e suia le mamanu e fetaui ma ou manaʻoga. I aʻu faʻatonuga, e tatau ona e faʻaogaina muamua i le setiina o le PSCyr i TexLive. O le seti e faia i le Linux Mint Mate tufatufa; mo isi tufatufaga, atonu e te manaʻomia google le pusa pusa pusa TexLive masani mo lau masini.

Fa'apipi'i TexLive

Ioe, e mafai ona e faʻapipiʻiina naʻo vaega o se afifi tuʻuina atu e te manaʻomia. Ae ia te aʻu lava ia, sa ou saʻo lava paie e suʻe mo le faʻapipiʻiina o galuega e manaʻomia. Ina ia mautinoa e saʻo lelei mea uma, matou te faʻapipiʻi le pusa TexLive atoa. Ua ta'ua textlive-tumu ma e sili atu teisi nai lo le 2 gigabytes, ia manatua lenei mea moni i lou mafaufau. Matou te faia le poloaiga:

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

A maeʻa se faʻapipiʻi umi, e mafai ona e alu i le isi laasaga.

Fa'apipi'i le Pandoc converter

Pandoc o se pusa Linux lea e mafai ai e oe ona faʻaliliuina nisi o tusitusiga i isi. E tele mea manaia e mafai ona e masani ai i luga ole Initaneti. Matou te fiafia i le avanoa e liliu ai se faila faʻailoga i le PDF. Sei o tatou siaki pe faʻapipiʻi Pandoc ae a leai, faʻapipiʻi. Mo se fa'ata'ita'iga fa'apenei:

user@hostname:~$ dpkg -s pandoc

Afai e fai mai le gaioiga e le o faʻapipiʻiina, faʻapipiʻi:

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

Fa'apipi'i le pusa PSCyr mo TexLive

Muamua e te manaʻomia le download PSCyr. Mo le taimi nei o loʻo avanoa pea i lenei fesoʻotaʻiga, afai i le taimi o le faitauina o le tusiga e le o avanoa mo nisi mafuaaga, aua le faʻavaivai, e faigofie ona maua faʻatasi ma faʻatonuga faʻapipiʻi e ala i le taina o se mea e pei o le "Installing PsCyr texlive" i Google. Afai e avanoa, ona faigofie lea mo oe, download ma matou manatu na e tatalaina le faʻamaumauga i totonu o lau pusa fale ma faʻapea o le ala i le pusa o loʻo i totonu o le archive e foliga mai. ~/PSCyr. Ona alu lea i le Terminal ma faʻatino faʻatonuga faʻasolosolo:

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

O le isi o le a tatou suʻeina poʻo fea o loʻo i ai le lisi faʻapitonuʻu texmf. Matou te faia le poloaiga:

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

E foliga mai o lo'o ia te oe lenei lisi - /usr/local/share/texmf/, ona matou faia lea:

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

Ia, pe le mafai ona e faʻalavelave ma faʻatautaia le poloaiga o le a kopiina i le faila texmf po o fea lava e i ai o ia:

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

PSCyr fonts ua faʻapipiʻiina, faʻafesoʻotaʻi i TexLive:

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

LaTeX mamanu mo le liua md2pdf

O le a ou le faʻamatalaina pe faʻapefea ona faʻapipiʻiina lenei faʻataʻitaʻiga, ma o le a naʻo le tuʻuina atu i lalo o se faʻalavelave e aunoa ma le tele o faʻamatalaga. Ua lava le fai atu o loʻo faʻapipiʻiina lelei, a itiiti mai i le auala e faʻagasolo ai tusitusiga ma le tele o faʻamatalaga puna. Afai e te le faamalieina i le tele o indents, laina laina, leai se numera o vaega ma subsections, i loʻu manatu e faigofie tele i Google le fesili "faʻafefea ona fai i Latex ..." ona e manaʻomia lea. Afai e matua le manino, tusi i totonu o faʻamatalaga, o le a ou taumafai e suʻesuʻe i aʻu lava tulaga mai le 4 tausaga talu ai ma faʻamatala po o le a le laina o le mamanu e nafa ma le mea. I le taimi nei, o le a ou faʻamatalaina pe na faapefea ona ou faia i luga o laʻu PC, ma e te saoloto e toe fai pe suia e fetaui ma oe.

Fausia se faila template.tex i le lisi /usr/share/texlive/:

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

Matou te tuuina atu i ai faatagaga faitau:

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

tatala e pei o aʻa ma faapipii i totonu mea o loʻo natia i lalo o le faʻaleagaina o loʻo i lalo:

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

Fa'ata'ita'iga anotusi /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}

Faasaoina le faila /usr/share/texlive/template.tex ma tusi se tusitusiga o le a liua ai le faila Makrdown i le PDF, fatuina i totonu o le pusa lava e tasi se faila e taʻua o le Markdown faila ma le .pdf prefix, o lona uiga, pe a uma le liua. igoa faila.md o le a aliali mai i totonu o le faila igoa faila.md.pdf. Sei ta valaau le mau md2pdf ma tuu i luga o le ala / usr / lapisi. Se'i o tatou fa'atino fa'atonuga fa'asolosolo:

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

O le laina lona 4 o loʻo i ai moni le faʻatonuga o le liua. gauai atu i ai --from=markdown_github. O le GitHub version of Markdown e fetaui i tua ma le uluai Markdown, o lea afai o lau tusitusiga o loʻo tusia i totonu, e te le tau popole. Afai o lau faila MD o loʻo tusia i se gagana patino o Markdown, ona faitau lea o le tusi a Pandoc (man pandoc), ia mautinoa o loʻo lagolagoina e lau faʻatinoga, ma tweak /usr/bin/md2pdf pe a mana'omia.

Fa'amatalaga mo le tele pe itiiti ifo o le fa'apipi'iina otometi

Afai e te le manaʻo moni e faʻapipiʻi soʻo se mea, ma e iai sau faʻasalalauga e pei o le Ubuntu, e mafai ona e taumafai e fai se faʻamaumauga ma mea o loʻo natia i lalo o le faʻaleagaina, ma e foliga mai o le a faʻapipiʻi mea uma lava, na o le kopi o le TeX template. lafo i lalo o le spoiler i luga i le mea e te manaʻomia ai oe lava. Tatala le Terminal ma tamoe:

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

Ona faatumu lea i mea nei:

I totonu o le tusitusiga $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

Faʻatonu ma le faʻatonuga:

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

Aua neʻi galo lena /usr/share/texlive/template.tex e tatau ona faʻatumu e pei ona faʻaalia i le vaega "LaTeX mamanu mo le liua md2pdf» anotusi.

Faʻaaogaina md2pdf

Na'o le tatalaina o le faila i le faila Markdown (some_file.md) i le Terminal, ma taʻavale le poloaiga:

user@hostname:~$ md2pdf some_file.md

O se taunuuga, o le a aliali mai se faila i totonu o le faila some_file.md.pdf.

iʻuga

Faʻavae i luga o le auala faʻamatalaina, e mafai ona e fausia soʻo se ituaiga o faila PDF; e mafai foi ona e faʻaliliuina isi faatulagaga, soʻo se lagolagoina e Pandoc, nai lo md. Ou te faʻamalosi e faʻamoemoe e i ai se aso o le a aoga ai lenei faʻatonuga i le 3 ma le afa tagata.

puna: www.habr.com

Faaopoopo i ai se faamatalaga