pandoc转pdf文件使用latex模板介绍(Linux环境)
Posted catoop
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了pandoc转pdf文件使用latex模板介绍(Linux环境)相关的知识,希望对你有一定的参考价值。
pandoc转pdf文件用的latex模板介绍(Linux环境)
- 关于pandoc工具使用latex模板将md文件转pdf文件还是有很长路要走的,如果执着于用它来做精美排版啥的那就是长路漫漫!
- 本篇主要讲pandoc使用的latex模板以及使用模板过程中遇到的一些问题
- 我也是不断学习摸索将此过程中遇到的问题进行总结,便于后续查看,如有不足,还请不吝赐教。
latex模板
pandoc用户指南template介绍
pandoc使用模板文件来设置文档所需的各种标题,引用,代码块,页眉和页脚等的样式设定。
要查看使用的默认模板,只需输入pandoc -D latex
其中latex是输出格式的名称。这样查看的默认模板是default.latex模板文件。
您还可以将自定义的模板文件放在(linux环境下:/usr/share/pandoc/date/templates/)这个模板文件夹下
可以在pandoc转换指令中加入–template=mytemplate.latex选项指定自定义模板。
常见的问题
相信使用过pandoc转pdf的人应该多少都遇到过一些头大的问题,不多说直接上问题
(先卖个关子,大多问题都可以通过设定latex模板来解决)
- 中文字体不显示
这个不是模板问题啊,这锅模板可不背,是编译引擎的事,因为默认的pdflatex引擎不支持中文,所以指定支持中文的xelatex作为编辑引擎就好:–latex-engine=xelatex
(如果模板中没有设定中文字体,通过pandoc指令选项指定使用中文字体:-V CJKmainfont=“KaiTi”) - 中文不换行,设定中英文字体,页面尺寸的设定
这些在下面介绍的pm-template.latex这个模板中已经做了设定了,设用这个模板就能解决了 - 表格不显示
这个在下面介绍的eisvogel.tex这个模板大概在650行的位置做了设定,我使用编译后也只是三线表。 - 引用不显示
同样的在eisvogel.tex这个模板大概在575的位置做了设定,使用也只会显示一级引用
我是根据自己的需求从各个模板中取自己要的部分进行组合使用。模板的链接在下面都有介绍。
收集的各种latex模板
1、pandoc默认模板 default.latex
default.latex 是 pandoc本身自带的默认模板,你可以在这个默认模板上加想要设定的内容,当然也可以自己重新自定义一个模板文件`
2、pandoc自定义模板 template.tex
template.tex 是电子书模板,内部对电子书的常规样式进行设定
3、pandoc自定义模板 pm-template.latex
pm-template.latex 这个模板好像使用的人蛮多的,使用该模板编译如遇到如下报错信息和解决方法:
# 错误信息
! Underfined control sequence #编译报错信息
102 \\tightlist #编译报错信息
# 对应解决办法是将以下代码加入到模板的导言区
\\newcommand\\tightlist
\\setlength\\itemsep0pt\\setlength\\parskip0pt
# 错误信息
! Underfined control sequence #编译报错信息
135 \\toprule #编译报错信息
# 对应解决办法是将以下代码加入到模板中 \\else % if luatex or xelatex 的下一行
\\usepackagebooktabs
4、pandoc自定义模板 eisvogel.tex
eisvogel.tex 这是一个写的非常全的一个模板了,里面对很多样式进行了设定,里面有不少可以借鉴的内容。
使用eisvogel.latex模板遇到问题
用pandoc编译时会报错,报错信息是找不到 xxx.sty 文件
将那个文件名复制到这个网站(https://ctan.org/pkg/sourcecodepro)
找到相应文件下载后将解压后的文件放到/usr/share/texlive/texmf-dis/tex/latex/路径下(以上路径是linux环境下的texlive路径)
点击里去搜索需要的文件(https://ctan.org/pkg/sourcecodepro)
5、yellowpaper 的 eisvogel.tex 模板
yellowpaper这个里对eisvogel.tex这个模板进行了一些调整,也可以做为参考。
latex模板的使用
在linux环境下使用指令安装的pandoc其模板的默认路径为:/usr/share/pandoc/date/templates/ 有的可能没有date这个文件夹其路径为:/usr/share/pandoc/templates/将模板文件放到这个路径下,把后缀名改为 .latex 使用pandoc指令转换文件时,指定模板编译指令例如:pandoc --latex-engine=xelatex --template=pm-template.latex test.md -o test.pdf
- 讲解使用pandodc指令给代码块,引用等设置高亮背景色
- 官网上许多pandoc指令的列子
latex模板如何写
- 参考pandoc官网用户指南的Template syntax
- 也可以参见这里看看pandoc-latex-template的自述文件
- 可参考pandoc官网的template语法pandoc用户指南template syntax介绍
这个问题其实还挺难的,我也想有个大佬指点一二,我也是模仿其他人的latex模板增增改改。 都是看看大佬的模板是怎么写的借鉴模仿。
用markdown写用文档可能需要用到的
- markdown基本语法:markdown语法介绍
- latex的公式及矩阵的书写语法:点击查看语法介绍
- 表格可以通过复制word或者excel的表格然后放到这个网站可以将表格的信息转换为html语法的表格可以参考这篇文档
- 用markdown语法写的表格,使用latex模板转换可以显示
- 而html的语法写的表格,使用latex模板转换则无法显示
以下是扩展,想要用latex排版漂亮简历可以参考这个网站下在latex的简历排版(http://www.latextemplates.com/cat/curricula-vitae)
(END)
以上是关于pandoc转pdf文件使用latex模板介绍(Linux环境)的主要内容,如果未能解决你的问题,请参考以下文章