Markdown2pdf Linux的源代码

前言


Markdown是撰写简短文章(有时是大量文本)的好方法,其格式简单,并采用斜体和粗字体。 Markdown也适合撰写包含源代码的文章。 但是有时候我想将其传输到设计合理的常规PDF文件中,而不会丢失,并且要用铃鼓跳舞,这样在转换过程中就不会出现问题,例如,这是我的问题–您无法在源代码注释中用俄语写,太长的行不会被传输,其他次要问题被切断。 该说明将使您无需特别了解其工作原理即可快速配置md2pdf转换器。 不太适合自动安装的脚本在下面的相应部分中。


安装TexLive


当然,您只能安装此软件包的必要部分。 但就我个人而言,坦率地说,我懒于寻找最低限度的可行安装。 为使一切正常,请安装整个TexLive软件包。 它被称为texlive-full ,重量超过2 GB,请牢记这一事实。 我们执行命令:


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

安装足够长的时间后,您可以继续执行下一步。


安装Pandoc Converter


Pandoc是一个Linux软件包,可让您将某些文本格式转换为其他格式。 它具有许多有趣的功能,您可以在Internet上熟悉它们。 我们只对将markdown文件转换为PDF的能力感兴趣。 检查是否安装了Pandoc,如果没有,请安装它。 例如,像这样:


 user@hostname:~$ dpkg -s pandoc 

如果输出表明尚未安装,请安装:


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

安装MD2PDF


您可以转到GitHub上的脚本页面 ,然后根据说明进行操作。


或下载存档 ,将其解压缩到任何文件夹,在终端中将其打开,然后再次按照说明进行操作。


打开终端并执行:


 git clone https://github.com/melichron/md2pdf.git && cd md2pdf 

然后以root身份执行,例如:


 sudo ./install.sh 

请记住,脚本使用实用程序来构建控制台鞭尾对话框 。 如果您没有安装它,或者您不想安装它,或者想要自己做所有事情,那么请手动安装texlive-fullpandoc ,然后按照说明进行操作。


为所有用户安装md2pdf


 root@host:~/md2pdf# cp ./src/template.tex $(kpsewhich -expand-var='$TEXMFLOCAL') root@host:~/md2pdf# echo "#!/bin/bash" | tee usr/local/bin/md2pdf root@host:~/md2pdf# echo "pandoc --output=\$1.pdf --from=markdown_github --latex-engine=pdflatex --listings --template=$(kpsewhich -expand-var='$TEXMFLOCAL')/template.tex \$1" | tee -a usr/local/bin/md2pdf root@host:~/md2pdf# chmod 755 /usr/local/bin/md2pdf 

为当前用户安装md2pdf


 user@host:~/md2pdf$ cp ./src/template.tex $(kpsewhich -expand-var='$TEXMFHOME') user@host:~/md2pdf$ echo "#!/bin/bash" | tee ~/.local/bin/md2pdf user@host:~/md2pdf$ echo "pandoc --output=\$1.pdf --from=markdown_github --latex-engine=pdflatex --listings --template=$(kpsewhich -expand-var='$TEXMFHOME')/template.tex \$1" | tee -a ~/.local/bin/md2pdf user@host:~/md2pdf$ chmod 755 ~/.local/bin/md2pdf 

使用md2pdf


只需在终端中打开带有Markdown文件( some_file.md )的文件夹,然后运行命令:


 user@hostname:~$ md2pdf some_file.md 

结果,文件some_file.md.pdf出现在文件夹中。


结论


根据上述方法,您可以构建任何样式的PDF文件;还可以转换其他格式(而不是md),而Pandoc支持任何格式。 我敢于希望这一指令有一天对3个半人有用。

Source: https://habr.com/ru/post/zh-CN444262/


All Articles