papermodel:论文格式报告模板
reportmodel:完整实验报告模板
- papermodel&reportmodel 中图片排版的彻底完善: 从较老的subfigure宏包完全迁移到了subfig宏包, 可以实现图片的并行排版, 竖向排版,
$2\times2$ 排版, 等等, 读者可以根据模板中的三个例子举一反三. - 中文字体部分代码默认注释, 读者理论上可以直接编译使用.
- 模板行文上的小修改
- reportmodel:公式模板重写
- papermodel:公式模板重写,页眉到正文距离调整,双栏间距调整,引入脚注。
- 改进超大表格的说明
- 图片排版从subfig宏包迁移到subfigure宏包上来,该宏包可以简单实现图片的竖向并行排版。
- 将中文字体均设置为了免费字体方正书宋、方正楷体和方正黑体。方正系列的免费字体可以在各个网站上下载,推荐自己设置一通,或者将相关代码注释。
- 公式模板修改
- 微调部分注释
关于LaTeX的安装,在非特殊情况下推荐直接安装Tex Live(在macOS上为MacTex)。
安装教程:(比如)TeX Live 下载及安装说明 | 始终
如果你从未用过LaTeX进行文章的排版,网上已经有很多优秀的教程。
推荐入门教程:一份其实很短的 LaTeX 入门文档 | 始终
安装完Tex Live或者MacTex之后,会自带一个编辑和编译器TeXworks,可以在入门的时候使用,进行简单的学习,但是在实际使用上很不方便。目前比较时髦的配置环境是用微软的 VS Code + 插件 LaTeX Workshop使用,配置十分方便,比笔者之前用的“Sublime Text+Sumatra PDF+Ghostscript+ImageMagick”方便得多,且具体使用起来更加舒服。
配置教程可以参考近期LaTeX工作室的一个直播教程:
在这里给出Windows10环境下,设置中文字体的一个相对比较完整的流程,以思源宋体的安装和使用为例。
字体文件的常见格式主要有TrueType (TTF)和OpenType (OTF)等格式的,在各大网站下载的都是可以用的,不管是GitHub下载的开源字体,某些官方网站的商业字体,还是在一些聚合站点上下载的字体。比如说我们进入思源宋体的GitHub下载主页,在下面这里点击下载链接,
就会自动下载含有字体文件的压缩包(我点击的是ExtraLight + Light + Regular + Medium),
解压后可以看到一些OTF文件,这就是我们要用的文件,如果你手头上有这样的文件,可以直接拿来用。
安装字体的方式很简单,右键安装即可;但是需要注意的是,一定要点击“为所有用户安装”
如果只点击了“安装”,在Word等软件中可以正常使用这个字体,但是用LaTeX编译的时候会出现无法调用而报错的问题。
Windows 10的设置中可以查看自己安装的字体,这个面板可以在设置中进行搜索进入
安装成功之后,在“字体设置”页面中搜索应该可以看到这个字体。
注意,如果通过将字体文件拖放到“字体设置”页面的“添加字体”那个虚线方框中进行字体的安装,并不是为所有用户安装的,不能成功被LaTeX调用。
对于思源宋体这种字体,它是含有多种粗细型号的,都可以在这个面板进行预览和查看。
上面的在windows设置面板中查看安装的字体,其作用是方便查看字体的预览。并不能给我们在LaTeX调用字体是要用的准确的“代号”。要查看这个代号,我们在命令行(需要用管理员身份运行)中输入
fc-list -f "%{family}\n" :lang=zh >d:zhfont.txt
系统就会输出一个文件zhfont.txt
,放在D盘中(当然你可以自己修改路径,更多的信息可以搜索了解)。打开这个文件之后,你就会看到系统中安装的所有中文字体及其代号,都可以在LaTeX中随意调用,当然也包括我们刚刚安装的“思源宋体”,
所有用逗号,
隔开的短语,如Source Han Serif SC
,思源宋体
,Source Han Serif SC Medium
,思源宋体 Medium
,都可以作为后面调用的代号,其中后两者代表“Medium”这个粗细,而前两者实际上代表的是这个字体的默认粗细,即“Regular”,想要调用非默认粗细的话需要注意代号。
安装新字体之后,为了给TeX Live调用,我们刷新一下TeX Live中的字体,在命令行中运行,一般3次就可以了
fc-cache -fsv
我们使用宏包xeCJK
进行中文字体的设置:
\usepackage{xeCJK}
下面介绍几个常用的命令,更多的玩法网上已经有很多教程。
首先是对整篇文档主要文字的设置,包括默认字体、加粗字体和斜体字体,在导言区中加入:
\setCJKmainfont[ItalicFont=方正楷体简体,BoldFont=FZHei-B01S]{Source Han Serif SC}
字体 | 对应命令 | 示例字体 |
---|---|---|
默认字体 | - | Source Han Serif SC |
加粗字体 | \textbf{xxx} | FZHei-B01S |
斜体字体 | \textit{XXX} | 方正楷体简体 |
正如上面的示例,我们调用一个字体,既可以用英文代号,也可以用中文代号。下面是一个示例:
我们对\LaTeX 中\textbf{中文字体}的\textit{设置}进行介绍。
另外一个常用的命令是临时调用某个字体\CJKfintspec
,可以在正文中直接使用,
{\CJKfontspec{方正楷体简体} 实验时间:2020年9月21日~星期一~下午}
注意如果是在一大段文字中临时调用字体,一定不能忘记最外面的大括号,否则从这一行起,后面所有的文字都会变成这个字体。
如果嫌上面的命令麻烦,可以使用LaTeX的\newcommand
自己给调用的字体命名,
\renewcommand{\songti}{\CJKfontspec{Source Han Serif SC}}%用命令\songti调用思源宋体
\newcommand{\fzkaiti}{\CJKfontspec{方正楷体简体}}%用命令\fzkaiti调用方正楷体简体
然后就可以用下面的命令临时调用文字(注意两种方式,最外面的大括号都不能省略),
使用{\fzkaiti 方正楷体简体}进行书写
使用{\fzkaiti{方正楷体简体}}进行书写
可能有的读者注意到,第一行用的是\renewcommand
而不是\newcommand
。这是因为,如果我们引用了ctex
宏包或者文档类型用的是ctexart
,我们可以直接用ctex
宏包自带的字体:
比如说临时调用隶书这个字体,
{\lishu{下面}}是ctex宏包中自带的字体,可以直接使用
相应的,我们在自定义字体的时候,就不能和这些字体的命令重名,否则会报错。实际上,我们想进行的操作是替换掉原来的\songti
命令,故需要用\renewcommand
。
最后给出一个样例代码
\documentclass[UTF8]{ctexart}
\usepackage{xeCJK}
\setCJKmainfont[ItalicFont=方正楷体简体,BoldFont=FZHei-B01S]{Source Han Serif SC}
\renewcommand{\songti}{\CJKfontspec{Source Han Serif SC}}%用命令\songti调用思源宋体
\newcommand{\fzkaiti}{\CJKfontspec{方正楷体简体}}%用命令\fzkaiti调用方正楷体简体
\begin{document}
我们对\LaTeX 中\textbf{中文字体}的\textit{设置}进行介绍。\\
{\lishu 下面}是ctex宏包中自带的字体,可以直接使用;相应得,我们在自定义字体的时候,{\fzkaiti 不能}和这些字体的命令重名。\\
\begin{tabular}{|lll|}
\hline
\songti 宋体 & SimSun &\verb|\songti 宋体| \\
\kaishu 楷体 & KaiTi &\verb|\kaishu 楷体| \\
\heiti 黑体 & SimHei &\verb|\heiti 黑体| \\
\yahei 微软雅黑 & Microsoft YaHei &\verb|\yahei 微软雅黑| \\
\fangsong 仿宋 & FangSong &\verb|\fangsong 仿宋| \\
\youyuan 幼圆 & YouYuan &\verb|\youyuan 幼圆| \\
\lishu 隶书 & LiSu &\verb|\lishu 隶书| \\
\hline
\end{tabular}
\end{document}
在LaTeX中制作表格是一件很麻烦的事情,好在我们有一些拓展宏可以实现将excel中的表格转化为代码。在这里我们推荐加载项Excel2LaTeX
,其官网为CTAN: Package Excel2LaTeX,下载之后双击就安装到excel里面了
选中你想转化为代码的表格之后,点选Convert Table to LaTeX
即可秒速转换为代码,在里面有一些配置,我一般设置如下,
其中Booktabs package
是制作三线表的选项,一般都使用这个,但是你的边框线要自己画好,使用三线表也需要引用宏包booktabs
。