Shirye-shiryen markdown2pdf tare da lambar tushe don Linux

Magana

Markdown wata babbar hanya ce ta rubuta gajeriyar labari, kuma wani lokacin rubutu mai yawa, tare da sassauƙan rubutun rubutu da tsattsauran ra'ayi. Markdown kuma yana da kyau don rubuta labarai tare da haɗa lambar tushe. Amma wani lokacin kana so ka yi hasarar, rawa tare da tambourine don riske shi a cikin wani na yau da kullum, da kyau-kafa PDF fayil, kuma don haka da cewa babu matsaloli a lokacin hira, wanda, misali, Ina da - ba za ka iya rubuta a cikin Rashanci. sharhin lambar tushe, dogon layi ba a canjawa wuri ba, amma yanke da sauran ƙananan matsalolin. Umarnin zai ba ka damar saita mai canzawa da sauri md2pdf ba tare da fahimtar yadda yake aiki ba. Rubutun don ƙara ko ƙasa da shigarwa ta atomatik yana ƙasa a cikin sashin da ya dace.

Samfurin nawa na TeX don juyawa yana amfani da fakitin font na PSCyr, wanda ya haɗa da goyan bayan fonts na Microsoft, wato Times New Roman. Akwai irin waɗannan buƙatun don difloma bisa ga GOST. Idan kun san yadda, zaku iya canza samfuri don dacewa da bukatunku. A cikin umarnina, da farko za ku fara yaudara tare da saitin PSCyr a cikin TexLive. Ana yin saitin a cikin Linux Mint Mate rarraba, don sauran rabawa za ku iya google daidaitattun manyan fayilolin fakitin TexLive don tsarin ku.

Ana shigar da TexLive

Tabbas, zaku iya shigar da sassan da ake buƙata kawai na wannan fakitin. Amma da kaina, a gaskiya na yi kasala sosai don neman mafi ƙarancin shigarwar aiki. Don tabbatar da cewa komai yana aiki, shigar da fakitin TexLive gaba ɗaya. Ana kiranta textlive-cikakke kuma yayi nauyi kadan fiye da gigabytes 2, kiyaye wannan gaskiyar a zuciya. Muna aiwatar da umarnin:

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

Bayan isassun dogon shigarwa, zaku iya ci gaba zuwa abu na gaba.

Shigar da Pandoc Converter

Pandoc kunshin Linux ne wanda ke ba ku damar canza wasu tsarin rubutu zuwa wasu. Yana da abubuwa masu ban sha'awa da yawa waɗanda za ku iya samun kanku akan Intanet. Muna sha'awar yuwuwar canza fayil ɗin alama zuwa PDF. Bincika idan an shigar da Pandoc kuma idan ba haka ba, shigar da shi. Misali kamar haka:

user@hostname:~$ dpkg -s pandoc

Idan fitarwa ta ce ba a shigar da shi ba, shigar:

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

Shigar da fakitin PSCyr don TexLive

Da farko kuna buƙatar zazzage PSCyr. Har yanzu yana samuwa a wannan mahada, Idan a lokacin karanta labarin ba a samuwa don wasu dalilai, kada ku yanke ƙauna, yana da sauƙi a same shi tare da umarnin shigarwa ta hanyar buga wani abu kamar "Installing PsCyr texlive" a cikin Google. Idan akwai, to yana da sauƙi a gare ku, zazzagewa kuma za mu ɗauka cewa kun cire kayan tarihin a cikin babban fayil ɗin ku kuma ta haka ne hanyar zuwa babban fayil ɗin da ke cikin rumbun ya yi kama da. ~/PSCyr. Sannan je zuwa Terminal kuma aiwatar da umarni masu zuwa a jere:

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

Na gaba, gano inda kundin adireshin gida yake textmf. Muna aiwatar da umarnin:

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

Da alama kuna da wannan littafin - /usr/local/share/texmf/, sannan mu yi:

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

To, ko kuma ba za ku iya damu ba kuma ku gudanar da umarni wanda zai kwafi zuwa babban fayil textmf duk inda take:

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

An shigar da fayilolin PSCyr, haɗa zuwa TexLive:

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

Samfurin LaTeX don canza md2pdf

Ba zan bayyana ainihin yadda aka tsara wannan samfuri ba, kuma kawai zan ba da shi ƙarƙashin mai ɓarna ba tare da cikakken bayani ba. Ya isa a faɗi cewa an daidaita shi sosai, aƙalla dangane da yadda yake sarrafa rubutu mai tarin lambar tushe. Idan ba ku gamsu da girman indents ba, tazarar layi, rashin lambobi na sassan da sassan, to a ganina yana da sauƙin google tambaya akan Intanet "yadda ake yi a Latex ..." kuma sai bukatar ku. Idan ba a bayyane ba, rubuta a cikin sharhi, zan yi ƙoƙarin shiga cikin saitunan kaina shekaru 4 da suka gabata kuma in bayyana wane layi na samfurin ke da alhakin menene. A halin yanzu, zan rubuta yadda na yi shi akan PC ta, kuma kuna da damar sake maimaitawa ko gyara da kanku.

Ƙirƙiri fayil samfurin.tex a cikin kasida /usr/share/texlive/:

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

Ba shi izinin karantawa:

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

Bude shi a ƙarƙashin tushen kuma manna abubuwan da ke ɓoye a ƙarƙashin ɓarna na ƙasa a ciki:

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

Samfurin abun ciki /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}

Ajiye fayil ɗin /usr/share/texlive/template.tex kuma ka rubuta rubutun da zai canza fayil ɗin Makrdown zuwa PDF, ƙirƙirar a cikin wannan babban fayil ɗin fayil mai suna Markdown file tare da prefix .pdf, wato, bayan jujjuyawar. filename.md zai bayyana a cikin babban fayil. filename.md.pdf. Bari mu kira rubutun md2pdf kuma a sanya hanya / usr / bin. Bari mu aiwatar da umarni a jere:

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

Layi na 4 a haƙiƙa ya ƙunshi umarnin juyawa. kula da --daga=markdown_github. Sigar GitHub ta Markdown tana baya da jituwa tare da ainihin Markdown, don haka idan an rubuta rubutun ku a ciki, ba lallai ne ku damu ba. Idan an rubuta fayil ɗin MD ɗin ku a cikin takamaiman yaren Markdown, sannan karanta littafin Pandoc (man pandoc), tabbatar da aiwatar da aiwatar da shi yana goyan bayansa, kuma tweak /usr/bin/md2pdf idan ya zama dole.

Rubutun don ƙara ko ƙasa da shigarwa ta atomatik

Idan da gaske ba kwa son saita wani abu kwata-kwata, kuma kuna da rarraba irin ta Ubuntu, kuna iya ƙoƙarin ƙirƙirar rubutun tare da abubuwan da ke ɓoye a ƙarƙashin ɓarna, kuma wataƙila komai zai shigar da kansa, kawai abu shine, kwafi. samfurin TeX da aka buga a ƙarƙashin mai ɓarna a sama inda ya cancanta da kansu. Bude Terminal kuma kunna:

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

Sannan cika shi da abun ciki mai zuwa:

Abubuwan da ke cikin rubutun $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

Gudanar da shi tare da umarni:

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

Kar ku manta da hakan /usr/share/texlive/template.tex dole ne a cika kamar yadda aka nuna a cikin sashin "Samfurin LaTeX don canza md2pdf» abun ciki.

Amfani da md2pdf

Kawai buɗe babban fayil ɗin tare da fayil ɗin Markdown (wani_file.md) a cikin Terminal kuma gudanar da umarni:

user@hostname:~$ md2pdf some_file.md

A sakamakon haka, fayil zai bayyana a cikin babban fayil wani_file.md.pdf.

ƙarshe

Dangane da hanyar da aka bayyana, zaku iya gina kowane salo na fayilolin PDF, zaku iya canza wasu nau'ikan maimakon md, kowane mai goyan bayan Pandoc. Na kuskura in yi fatan cewa wata rana wannan koyarwar za ta kasance da amfani ga mutane 3 da rabi.

source: www.habr.com

Add a comment