foreword
Markdown mangrupikeun cara anu saé pikeun nyerat tulisan anu pondok, sareng sakapeung seueur téks, kalayan pormat miring anu sederhana sareng wani. Markdown ogé alus pikeun nulis artikel kalawan kode sumber kaasup. Tapi sakapeung rék loselessly, tari jeung rebana pikeun nyusul kana biasa, well-kabentuk file PDF, sarta ku kituna teu aya masalah salila konversi, nu, contona, kuring kungsi - anjeun teu bisa nulis dina basa Rusia dina. komentar ngeunaan kodeu sumber, garis panjang teuing teu ditransfer, tapi motong sarta masalah minor séjén. Parentah bakal ngidinan Anjeun pikeun gancang nyetél konverter md2pdf tanpa bener ngarti kumaha gawéna. Skrip pikeun instalasi otomatis leuwih atawa kirang aya di handap dina bagian luyu.
Sampel template TeX kuring pikeun konversi nganggo pakét font PSCyr, anu kalebet dukungan pikeun fon Microsoft, nyaéta Times New RomanIeu sarat GOST pikeun ijazah. Upami anjeun wawuh sareng éta, anjeun tiasa ngarobih témplatna pikeun nyocogkeun ka kabutuhan anjeun. Pitunjuk kuring meryogikeun anjeun pikeun nyetél PSCyr dina TexLive heula. Setelanna dilakukeun dina distribusi. Linux Mint Mate, kanggo distro anu sanés anjeun panginten kedah milarian di Google folder pakét TexLive standar pikeun sistem anjeun.
Masang TexLive
Tangtosna, anjeun ngan ukur tiasa masang bagian anu diperyogikeun tina pakét ieu. Tapi sacara pribadi, kuring terus terang teuing puguh milarian instalasi kerja anu diperyogikeun minimum. Pikeun mastikeun sagalana jalan, install sakabéh pakét TexLive. Disebutna texlive-pinuh sarta weighs saeutik leuwih ti 2 gigabyte, tetep kanyataan ieu dina pikiran. Urang ngajalankeun paréntah:
user@hostname:~$ sudo apt install texlive-full -ySaatos instalasi cukup lila, Anjeun bisa neruskeun ka item salajengna.
Pasang Pandoc Converter
Pandoc — pakét Linux, anu ngamungkinkeun anjeun pikeun ngarobah sababaraha format téks ka format anu sanés. Éta ngagaduhan seueur fitur anu pikaresepeun, anu anjeun tiasa jelajah online. Kami ngan ukur resep ngarobih file Markdown ka PDF. Hayu urang parios naha Pandoc parantos dipasang, sareng upami henteu, pasang. Salaku conto, sapertos kieu:
user@hostname:~$ dpkg -s pandocUpami kaluaran nyarios yén éta henteu dipasang, pasang:
user@hostname:~$ sudo apt install pandoc -yMasang pakét PSCyr pikeun TexLive
Mimiti anjeun kedah ngaunduh PSCyr. Pikeun ayeuna éta masih sadia di ieu , upami dina waktos maca tulisan éta henteu sayogi pikeun sababaraha alesan, ulah asa-asa, gampang mendakanana sareng petunjuk pamasangan ku ngetikkeun sapertos "Masang PsCyr texlive" dina Google. Upami éta sayogi, maka éta langkung gampang pikeun anjeun, unduh sareng kami bakal nganggap yén anjeun parantos ngabongkar arsip kana folder bumi anjeun sahingga jalan kana folder anu aya dina arsip sapertos kieu. ~/PSCyr. Teras angkat ka Terminal sareng laksanakeun paréntah di handap ieu dina urutan:
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.mapSalajengna, panggihan dimana lokasina diréktori lokal texmf. Urang ngajalankeun paréntah:
user@hostname:~$ kpsewhich -expand-var='$TEXMFLOCAL'Paling dipikaresep anjeun gaduh diréktori ieu - /usr/local/share/texmf/, lajeng urang ngalakukeun:
user@hostname:~$ sudo cp -R ./PSCyr/* /usr/local/share/texmf/Nya, atanapi anjeun henteu tiasa ngaganggu sareng ngajalankeun paréntah anu bakal nyalin kana polder texmf dimana wae manehna:
user@hostname:~$ sudo cp -R ./PSCyr/* $(kpsewhich -expand-var='$TEXMFLOCAL')Font PSCyr dipasang, sambungkeun ka TexLive:
user@hostname:~$ sudo texhash
user@hostname:~$ updmap --enable Map=pscyr.map
user@hostname:~$ sudo mktexlsrtemplate LaTeX pikeun konversi md2pdf
Kuring moal ngajelaskeun persis kumaha template ieu ngonpigurasi, sarta ngan bakal masihan eta handapeun spoiler tanpa loba katerangan. Cukup disebutkeun yen eta geus ngonpigurasi ogé, sahenteuna dina cara handles téks kalawan loba kode sumber. Upami anjeun henteu sugema ku ukuran indents, jarak garis, kurangna panomeran bagian sareng subsections, maka dina pamanggih kuring cukup gampang pikeun google patarosan dina Internét "kumaha carana ngalakukeunana dina Latex ..." sareng lajeng kabutuhan Anjeun. Upami éta henteu jelas pisan, nyerat dina koméntar, kuring bakal nyobian ngagali kana setélan kuring sorangan 4 sababaraha taun ka pengker sareng nerangkeun anu mana garis témplat tanggung jawab naon. Samentawis waktos, kuring bakal nyerat kumaha kuring ngalakukeun éta dina PC kuring, sareng anjeun bébas ngulang atanapi ngarobih pikeun diri anjeun.
Jieun file template.tex dina katalog /usr/share/texlive/:
user@hostname:~$ sudo touch /usr/share/texlive/template.texMasihan idin maca:
user@hostname:~$ sudo chmod 444 /usr/share/texlive/template.texbuka di handapeun akar sareng témpél eusi anu disumputkeun handapeun spoiler di handap ieu:
user@hostname:~$ sudo nano /usr/share/texlive/template.texEusi citakan /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}Nyimpen file /usr/share/texlive/template.tex sareng nyerat skrip anu bakal ngarobih file Makrdown kana PDF, nyiptakeun dina folder anu sami file anu disebut file Markdown kalayan awalan .pdf, nyaéta saatos konversi. Ngaran koropak.md bakal muncul dina polder. filename.md.pdf. Hayu urang nelepon naskah md2pdf sarta nempatkeun dina jalan / usr / bin. Hayu urang ngajalankeun paréntah dina urutan:
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/md2pdfBaris ka-4 sabenerna ngandung paréntah konvérsi. nengetan --from = markdown_github. Versi GitHub tina Markdown cocog sareng Markdown asli, janten upami téks anjeun ditulis di jerona, anjeun henteu kedah hariwang. Upami file MD anjeun ditulis dina dialek Markdown khusus, teras baca manual Pandoc (man pandoc), pastikeun palaksanaan anjeun dirojong ku éta, sareng tweak /usr/bin/md2pdf lamun perlu.
Script pikeun leuwih atawa kirang instalasi otomatis
Upami anjeun teu hoyong ngonpigurasikeun nanaon pisan, sareng anjeun Ubuntu-sapertos distribusi, anjeun tiasa nyobian ngadamel skrip kalayan eusina disumputkeun di handapeun spoiler, sareng kamungkinan sadayana bakal dipasang sacara otomatis. Pastikeun anjeun nyalin témplat TeX anu aya di handapeun spoiler di luhur dimana diperyogikeun. Buka Terminal sareng jalankeun:
user@hostname:~$ cd
user@hostname:~$ touch installmd2pdf.shTeras eusian ku eusi ieu:
Eusi naskah $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/md2pdfJalankeun éta kalayan paréntah:
user@hostname:~$ sudo bash $HOME/installmd2pdf.shTong hilap éta /usr/share/texlive/template.tex kudu dieusian sakumaha dituduhkeun dina bagian "template LaTeX pikeun konversi md2pdf» eusi.
Ngagunakeun md2pdf
Ngan buka folder kalayan file Markdown (some_file.md) dina Terminal sareng ngajalankeun paréntah:
user@hostname:~$ md2pdf some_file.mdHasilna, file bakal muncul dina polder some_file.md.pdf.
kacindekan
Dumasar kana metode anu dijelaskeun, anjeun tiasa ngawangun gaya naon waé file PDF, anjeun ogé tiasa ngarobih format sanés tibatan md, anu dirojong ku Pandoc. Kuring wani miharep yén hiji poé instruksi ieu bakal mangpaat pikeun 3 satengah jalma.
sumber: www.habr.com
