一、准备工作
准备事项 | 事项说明 |
---|---|
操作系统 | macOS 12.6.3 |
LaTex 环境 | MacTex 2022 - full |
Pandoc 环境 | Pandoc 3.1.1 |
Markdown 环境 | Obsidian 1.1.16 |
Obsidian Pandoc 插件 | Pandoc Plugin 0.4.1 |
1. 下载 MacTex
最新完整版下载路径:https://mirrors.nju.edu.cn/CTAN/systems/mac/mactex/MacTeX.pkg
2. 下载 Pandoc
3. 下载 Obsidian
在 Obsidian 中文社区 下载最新版的 Obsidian
4. 下载 Pandoc Plugin 插件
在 GitHub 下载最新版本的 Pandoc Plugin 插件
5. 环境安装
MacTex、Pandoc 和 Obsidian 的安装方法都非常的简单,在此不在赘述。在此重点讲一下 Obsidian 中 Pandoc 插件的安装。
-
关闭安全模式,启用第三方插件。
-
单击文件夹图标进入存放插件的文件夹。
-
手工创建
obsidian-pandoc
文件夹,将下来得到的main.js
、mainifest.json
、styles.css
放至该文件夹即可。 -
单击刷新图标
-
开启 Pandoc Plugin
经过上述五个步骤,Pandoc for Obsidian 插件就安装好了,具体的配置将在后续讲解。
二、模板配置
1. 添加中文字体支持
使用 Nova 等文本编辑器打开 eisvogel.latex 模板文件,查找 \else % if not pdftex
,在 $else$
后添加中文字支持语句。
\usepackage[fallback]{xeCJK}
\setCJKmainfont{STFangsong}[BoldFont=STHeiti, ItalicFont=STKaiti]
\setCJKfallbackfamilyfont{rm}{STFangsong}
\usepackage[default]{sourcesanspro}
\usepackage{sourcecodepro}
\setCJKmainfont{STFangsong}[BoldFont=STHeiti, ItalicFont=STKaiti]
的意思是,将中文字体改为华文仿宋,加粗格式改为华文黑体,倾斜格式改为华文楷体。基于 latex 理念,汉字没有斜体,所谓的斜体汉字,是通过几何变换得到非常粗糙,不满足严格排版要求,而西文的斜体指的是 Italy 字系,因此此处也是遵循了该理念。该三种字体也可以换成系统中的其他字体,大家可以根据喜好自行选择自己喜欢的字体。
\setCJKfallbackfamilyfont{rm}{STFangsong}
的字体要与第二行的主字体保持一致。
在 macOS 中,可以通过 【关于本机 – 系统报告 – 字体】中找到系统内置的所有字体,复制字体的唯一名称到上述两行语句中。
修改完成后的结果如下所示,需要注意添到的位置
\else % if not pdftex
$if(mainfont)$
$else$
\usepackage[fallback]{xeCJK}
\setCJKmainfont{STFangsong}[BoldFont=STHeiti, ItalicFont=STKaiti]
\setCJKfallbackfamilyfont{rm}{STFangsong}
\usepackage[default]{sourcesanspro}
\usepackage{sourcecodepro}
2. 设置首行缩进
在 \begin{document}
前面添加如下代码:
\usepackage{ctex} %调用中文字体宏包
\usepackage{indentfirst} %调用首行缩进宏包
\setlength{\parindent}{2em} %设置首行缩进为2字符
\begin{document}
3. 直接转换成 PDF
找到这一条代码:
pdfcreator={LaTeX via pandoc with the Eisvogel template}}
改为:
pdfcreator={LaTeX via pandoc}}
三、Pandoc 配置
1. 获取 pandoc 安装路径
找开终端,通过输入 which pandoc
命令获取 pandoc 的安装路径。
2. 获取 xelatex 安装路径
找开终端,通过输入 which xelatex
命令获取 xelatex 的安装路径。
3. 配置 Pandoc Plugin
在 Obsidian 第三方插件 Pandoc Plugin 中进行配置。
--template /Users/kevin/Documents/Markdown/.obsidian/eisvogel.latex --listings
注意,在 Pandoc Plugin 插件中,
--template
后的路径是不需要使用引号""
括起来的。具体路径按你自己放置 eisvogel.latex 文件的实现路径为准。
到此为止,Pandoc Plugin 的配置就完成,可以通过命令面板找到 Pandoc: Export PDF via LaTex 导出 PDF 了。
4. 测试导出 PDF 功能是否正常
即可将当前 Markdown 文档导出至指定的导出文件夹,如果在 Pandoc Plugin 中没有设置 Export folder 则导出至 Markdown 文档所在的文件夹。如果过程没有报错,正常导出 PDF 文件,即所有配置正确,如果遇到报错,请重新检查上述 3 个步骤的操作是正常。
eisvogel.latex 模板使用方法
1. 增加默认封面页
需在 Markdown 第一行开始定义 YAML 区,前面不能有任何内容和空行,YAML 区的内容如下:
---
title: "标题"
author: [作者]
date: "日期"
subject: "主题"
keywords: [标签]
subtitle: "副标题"
lang: "cn"
titlepage: true
---
titlepage: true
表示增加封面页,没有后续参数设置表示增加默认的封面页。
2. 增加自定义封面页
---
title: "标题"
author: [作者]
date: "日期"
subject: "主题"
keywords: [标签]
subtitle: "副标题"
lang: "cn"
titlepage: true
titlepage-color: "3C9F53"
titlepage-text-color: "FFFFFF"
titlepage-rule-color: "000000"
titlepage-rule-height: 2
titlepage-background: "background.pdf"
---
titlepage-color: "3C9F53"
设置封面页的背景颜色,颜色值要求采用十六进制方式表示,使用 titlepage-background
不用设置 titlepage-color
,否则可能会存在背景图片盖不住背景颜色而达不到预期效果。
titlepage-text-color: "FFFFFF"
设置封面页的字体颜色
titlepage-rule-color: "000000"
设置封面页水平分隔线颜色
titlepage-rule-height: 0
设置封面页水平分隔线高度(即线条粗细)
titlepage-background: "background.pdf"
设置封面页的背景
3. 在封面页增加 logo
---
title: "标题"
author: [作者]
date: "日期"
subject: "主题"
keywords: [标签]
subtitle: "副标题"
lang: "cn"
titlepage: true,
titlepage-text-color: "7137C8"
titlepage-rule-color: "7137C8"
titlepage-rule-height: 2
titlepage-logo: "logo.pdf"
logo-width: 30mm
---
titlepage-logo: "logo.pdf"
表示增加指定的 logo
logo-width: 30mm
表示 logo 的宽度设置为 30mm
上述介绍了三种常用的使用方法,一般而言已经够用了,要想了解更多的使用方法请自行查阅 eisvogel.latex
模板的帮助文档。
安装配置失败问题总结
-
MacTex 需要安装完整版,不能安装基础版,且不要使用 TexLive 工具升级宏包,否则会出现缺包或宏包版本不符的情况。
-
Pandoc Plugin 模板参数中模板路径不正确,不需要使用引号
""
括起来。 -
模板配置时添加的语句位置放错,不符合排版程序规范。
若导出 PDF 出在报错,可从以上三个方面进行排查。若做到以上三点,正常情况下是可以成功使用模板导出 PDF 的。
模板存在的问题总结
使用该模板导出的 PDF,在美观程序上比 Obsidian 自带的 PDF 导出功能导出的 PDF 有很大的进步,但由于本人没有学习过 LaTex 排版,存在以下几点本人不太满意的地方:
-
页边距采用的是标准学术风格,上下左右边距对我希望的输出不太一致,我希望能把上下左右边距调小一点,调到我希望的效果。
-
表格输出也是标准的学术风格,表格宽度自适应内容,表格居中显示,换页时在下一页表格不会显示标题,我希望的是换页时在下一页的表格有标题,不管表格跨了多少页,每页的表格都有标题,再就是根据我个人的排版习惯,表格要占满页宽,原表格宽度较小时,列宽按原比例分配占满页宽,表格宽度较大已占满页宽时按原样输出,最后就是表格标题强制不换行。
-
图片的标题是靠左显示的,不是很美观,希望改为居中显示,这样较符合一般排版要求。
除了上述三个问题之外,整体而言使用这个模板导出 PDF 还是非常美观,总体上是满意的。若有 LaTex 的排版专家,看否则指导在下解决上述问题,万分感谢。