Npaj-ua markdown2pdf daws nrog qhov chaws rau Linux

Lus Qhia Tshab

Markdown yog ib txoj hauv kev zoo los sau ib tsab xov xwm luv luv, thiab qee zaum cov ntawv nyeem ntev heev, nrog kev yooj yim formatting hauv daim ntawv italic thiab tuab font. Markdown kuj tseem zoo rau kev sau cov ntawv uas suav nrog qhov chaws. Tab sis qee zaum koj xav hloov nws mus rau hauv cov ntaub ntawv PDF zoo li niaj zaus, tsis muaj kev poob, seev cev nrog tambourine, thiab kom tsis muaj teeb meem thaum hloov pauv, uas, piv txwv li, kuv muaj - koj tsis tuaj yeem sau ua lus Lavxias hauv cov lus. ntawm lub hauv paus code, cov kab ntev dhau lawm tsis pauv, thiab lwm yam teeb meem me raug txiav tawm. Cov lus qhia yuav cia koj teeb tsa lub converter sai md 2 pdf tsis tshua nkag siab nws ua haujlwm li cas. Cov ntawv rau ntau dua lossis tsawg dua kev teeb tsa tsis siv neeg yog hauv qab no hauv seem tsim nyog.

Kuv tus qauv TeX template rau kev hloov dua siab tshiab siv PSCyr font pob, uas suav nrog kev txhawb nqa rau Microsoft fonts, uas yog Lub Sij Hawm Tshiab Roman. Muaj cov kev cai no rau daim ntawv pov thawj raws li GOST. Yog tias koj paub yuav ua li cas, koj tuaj yeem hloov kho tus qauv kom haum koj cov kev xav tau. Hauv kuv tus kheej cov lus qhia, thawj zaug koj yuav tsum tau dag nrog PSCyr teeb tsa hauv TexLive. Kev teeb tsa tau ua tiav hauv Linux Mint Mate faib, rau lwm qhov kev faib tawm koj yuav tau mus rau google tus qauv TexLive pob folders rau koj lub cev.

Txhim kho TexLive

Tau kawg, koj tuaj yeem nruab tsuas yog qhov tsim nyog ntawm lub pob no. Tab sis tus kheej, kuv tau frankly dhau tub nkeeg mus nrhiav qhov tsawg kawg nkaus tsim nyog ua hauj lwm installation. Txhawm rau kom paub tseeb tias txhua yam ua haujlwm, nruab tag nrho TexLive pob. Nws yog hu ua texlive-full thiab hnyav me ntsis ntau dua 2 gigabyte, khaws qhov tseeb hauv siab. Peb khiav qhov hais kom ua:

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

Tom qab lub installation ntev txaus, koj tuaj yeem mus rau cov khoom tom ntej.

Txhim kho Pandoc Converter

Pandoc yog pob Linux uas tso cai rau koj hloov qee cov ntawv nyeem rau lwm tus. Nws muaj ntau yam nthuav dav uas koj tuaj yeem pom koj tus kheej hauv Is Taws Nem. Peb tsuas yog txaus siab rau qhov ua tau ntawm kev hloov cov ntaub ntawv markdown rau PDF. Xyuas seb Pandoc tau nruab thiab yog tias tsis yog, nruab nws. Piv txwv li no:

user@hostname:~$ dpkg -s pandoc

Yog hais tias cov zis hais tias nws tsis yog ntsia, nruab:

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

Txhim kho PSCyr pob rau TexLive

Ua ntej koj yuav tsum rub tawm PSCyr. Tam sim no nws tseem muaj nyob ntawm no txuas, yog tias thaum lub sijhawm nyeem ntawv nws tsis muaj rau qee qhov laj thawj, tsis txhob poob siab, nws yooj yim mus nrhiav nws nrog rau cov lus qhia kev teeb tsa los ntawm kev ntaus ib yam dab tsi xws li "Installing PsCyr texlive" hauv Google. Yog tias nws muaj, ces nws yooj yim dua rau koj, rub tawm thiab peb yuav xav tias koj tau unpacked lub archive rau hauv koj lub tsev ntawv tais ceev tseg thiab yog li txoj kev mus rau lub nplaub tshev uas muaj nyob rau hauv lub archive zoo li ~/PSCyr. Tom qab ntawd mus rau Terminal thiab ua raws li cov lus txib hauv qab no ua ntu zus:

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

Tom ntej no, nrhiav seb qhov twg hauv zos directory nyob texmf ua. Peb khiav qhov hais kom ua:

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

Feem ntau koj yuav muaj daim ntawv teev npe no - /usr/local/share/texmf/, thiab tom qab ntawd peb ua:

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

Zoo, los yog koj tsis tuaj yeem thab thiab khiav cov lus txib uas yuav luam mus rau ib daim ntawv tais ceev tseg texmf ua nws nyob qhov twg:

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

PSCyr fonts ntsia, txuas rau TexLive:

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

LaTeX template rau md2pdf conversion

Kuv yuav tsis piav raws nraim li cas tus qauv no tau teeb tsa, thiab tsuas yog yuav muab rau hauv qab tus spoiler yam tsis muaj lus piav qhia ntau. Suffice nws hais tias nws yog configured zoo, tsawg kawg yog nyob rau hauv cov nqe lus ntawm yuav ua li cas nws lis cov ntawv nrog ntau qhov chaws. Yog tias koj tsis txaus siab rau qhov loj ntawm indents, kab sib nrug, tsis muaj tus lej ntawm ntu thiab ntu ntu, tom qab ntawd hauv kuv lub tswv yim nws yooj yim heev rau google cov lus nug hauv Is Taws Nem "yuav ua li cas hauv Latex ..." thiab ces koj xav tau. Yog tias nws tsis meej, sau rau hauv cov lus, Kuv yuav sim ua kom nkag siab txog kuv tus kheej qhov chaw 4 xyoo dhau los thiab piav qhia txog kab ntawm tus qauv twg yog lub luag haujlwm rau dab tsi. Lub sijhawm no, kuv yuav sau li cas kuv tau ua hauv kuv lub PC, thiab koj tuaj yeem rov ua dua lossis hloov kho rau koj tus kheej.

Tsim ib cov ntaub ntawv template.tex hauv phau ntawv teev khoom /usr/share/texlive/:

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

Muab nws nyeem ntawv tso cai:

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

qhib nws hauv qab lub hauv paus thiab muab tshuaj txhuam cov ntsiab lus zais hauv qab spoiler hauv qab no rau hauv nws:

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

Template cov ntsiab lus /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}

Txuag cov ntaub ntawv /usr/share/texlive/template.tex thiab sau ib tsab ntawv uas yuav hloov cov ntaub ntawv Makrdown rau PDF, tsim nyob rau hauv tib daim ntawv tais ceev tseg ib cov ntaub ntawv hu ua Markdown cov ntaub ntawv nrog rau prefix .pdf, uas yog, tom qab hloov dua siab tshiab npe.md yuav tshwm nyob rau hauv daim nplaub tshev. filename.md.pdf. Wb hu rau tsab ntawv md 2 pdf thiab muab tso rau ntawm txoj kev / usr / rau hauv. Cia peb ua cov lus txib hauv ib ntus:

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 kab yeej muaj cov lus txib hloov dua siab tshiab. them rau --from=markdown_github. GitHub version ntawm Markdown yog rov qab sib xws nrog tus thawj Markdown, yog li yog tias koj cov ntawv sau rau hauv nws, koj tsis tas yuav txhawj xeeb. Yog tias koj cov ntaub ntawv MD sau rau hauv ib hom lus tshwj xeeb Markdown, ces nyeem Pandoc phau ntawv (man pandoc), xyuas kom tseeb tias koj qhov kev siv tau txais kev txhawb nqa los ntawm nws, thiab tweak /usr/bin/md2pdf yog tias tsim nyog.

Tsab ntawv rau ntau dua lossis tsawg dua kev teeb tsa tsis siv neeg

Yog tias koj tsis xav teeb tsa txhua yam, thiab koj muaj kev faib tawm zoo li Ubuntu, koj tuaj yeem sim tsim ib tsab ntawv nrog cov ntsiab lus zais hauv qab tus spoiler, thiab feem ntau txhua yam yuav nruab nws tus kheej, qhov tsuas yog, luam. lub TeX template muab tso rau hauv lub spoiler saum toj no qhov tsim nyog lawv tus kheej. Qhib Terminal thiab khiav:

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

Tom qab ntawd sau nws nrog cov ntsiab lus hauv qab no:

Cov ntsiab lus ntawm $HOME/installmd2pdf.sh tsab ntawv

#!/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

Khiav nws nrog cov lus txib:

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

Tsis txhob hnov ​​qab tias /usr/share/texlive/template.tex yuav tsum tau sau nyob rau hauv raws li qhia nyob rau hauv seem "LaTeX template rau md2pdf conversionΒ» cov ntsiab lus.

siv md2pdf

Tsuas yog qhib lub nplaub tshev nrog cov ntaub ntawv Markdown (qee_file.md) hauv Terminal thiab khiav cov lus txib:

user@hostname:~$ md2pdf some_file.md

Yog li ntawd, ib cov ntaub ntawv yuav tshwm nyob rau hauv lub nplaub tshev some_file.md.pdf.

xaus

Raws li cov txheej txheem piav qhia, koj tuaj yeem tsim txhua hom ntawm PDF cov ntaub ntawv, koj tuaj yeem hloov lwm hom ntawv tsis yog md, ib qho kev txhawb nqa los ntawm Pandoc. Kuv twv vam tias muaj ib hnub cov lus qhia no yuav muaj txiaj ntsig rau 3 thiab ib nrab neeg.

Tau qhov twg los: www.hab.com

Ntxiv ib saib