暑假学习第四天——Latex学习整理
大纲
- 插入图片和表格
- 版面设置
- Tex家族
- 问题解决途径
插入图片和表格
插图
关于 LaTeX 插图,首先要说的是:「LaTeX 只支持 .eps 格式的图档」这个说法是错误的
在 LaTeX 中插入图片,有很多种方式。最好用的应当属利用 graphicx 宏包提供的 \includegraphics 命令。比如你在你的 TeX 源文件同目录下,有名为 a.jpg 的图片,你可以用这样的方式将它插入到输出文档中:
\documentclass{article}
\usepackage{graphicx}
\begin{document}
\includegraphics{a.jpg}
\end{document}
图片可能很大,超过了输出文件的纸张大小,或者干脆就是你自己觉得输出的效果不爽。这时候你可以用 \includegraphics 控制序列的可选参数来控制。比如:
\includegraphics[width = .8\textwidth]{a.jpg}
图片的宽度会被缩放至页面宽度的百分之八十,图片的总高度会按比例缩放。
\includegraphics控制序列还有若干其他的可选参数可供使用,一般并用不到。感兴趣的话,可以去查看该宏包的文档。
表格
tabular 环境提供了最简单的表格功能。它用 \hline 命令表示横线,在列格式中用 | 表示竖线;用 & 来分列,用 \\ 来换行;每列可以采用居左、居中、居右等横向对齐方式,分别用 l、c、r 来表示。
\begin{tabular}{|l|c|r|}
\hline
操作系统& 发行版& 编辑器\\
\hline
Windows & MikTeX & TexMakerX \\
\hline
Unix/Linux & teTeX & Kile \\
\hline
Mac OS & MacTeX & TeXShop \\
\hline
通用& TeX Live & TeXworks \\
\hline
\end{tabular}

浮动体
插图和表格通常需要占据大块空间,所以在文字处理软件中我们经常需要调整他们的位置。figure 和 table 环境可以自动完成这样的任务;这种自动调整位置的环境称作浮动体(float)。我们以 figure 为例。
\begin{figure}[htbp]
\centering
\includegraphics{a.jpg}
\caption{有图有真相}
\label{fig:myphoto}
\end{figure}
htbp 选项用来指定插图的理想位置,这几个字母分别代表 here, top, bottom, float page,也就是就这里、页顶、页尾、浮动页(专门放浮动体的单独页面或分栏)。\centering 用来使插图居中;\caption 命令设置插图标题,LaTeX 会自动给浮动体的标题加上编号。注意 \label 应该放在标题命令之后。
图片和表格的各种特殊效果,限于篇幅此处无法详叙。请查看最后一章推荐的文档。
如果你想了解 LaTeX 的浮动体策略算法细节,你可以参考原作者博客中关于浮动体的系列文章>
如果你困惑于「为什么图表会乱跑」或者「怎样让图表不乱跑」,请看原作者的回答。
版面设置
页边距
设置页边距,推荐使用 geometry 宏包。可以在这里查看它的说明文档。
比如将纸张的长度设置为 20cm、宽度设置为 15cm、左边距 1cm、右边距 2cm、上边距 3cm、下边距 4cm,可以在导言区加上这样几行:
\usepackage{geometry}
\geometry{papersize={20cm,15cm}}
\geometry{left=1cm,right=2cm,top=3cm,bottom=4cm}
页眉页脚
设置页眉页脚,推荐使用 fancyhdr 宏包。可以在这里查看它的说明文档。
比如在页眉左边写上我的名字,中间写上今天的日期,右边写上我的电话;页脚的正中写上页码;页眉和正文之间有一道宽为 0.4pt 的横线分割,可以在导言区加上如下几行:
\usepackage{fancyhdr}
\pagestyle{fancy}
\lhead{\author}
\chead{\date}
\rhead{152xxxxxxxx}
\lfoot{}
\cfoot{\thepage}
\rfoot{}
\renewcommand{\headrulewidth}{0.4pt}
\renewcommand{\headwidth}{\textwidth}
\renewcommand{\footrulewidth}{0pt}
首行缩进
CTeX 宏集已经处理好了首行缩进的问题(自然段前空两格汉字宽度)
如果你因为某些原因选择不适用 CTeX 宏集(不推荐)进行中文支持和版式设置,则你需要做额外的一些工作。
- 调用
indentfirst宏包。具体来说,中文习惯于每个自然段的段首都空出两个中文汉字的长度作为首行缩进,但西文行文习惯于不在逻辑节(\section等)之后缩进。使用改宏包可使 LaTeX 在每个自然段都首行缩进。- 设置首行缩进长度
\setlength{\parindent}{2\ccwd}。其中\ccwd是xeCJK定义的宏,它表示当前字号中一个中文汉字的宽度。
行间距
可以通过 setspace 宏包提供的命令来调整行间距。比如在导言区添加如下内容,可以将行距设置为字号的 1.5 倍:
\usepackage{setspace}
\onehalfspacing
具体可以查看该宏包的文档。
请注意用词的差别:
- 行距是字号的 1.5 倍;
- 1.5 倍行距。
事实上,这不是设置 1.5 倍行距的正确方法,请参考这篇博文。另外,RuixiZhang 开发了 zhlineskip 宏包,提供了对中西文混排更细致的行距控制能力。
段间距
可以通过修改长度 \parskip 的值来调整段间距。例如在导言区添加以下内容
\addtolength{\parskip}{.4em}
则可以在原有的基础上,增加段间距 0.4em。如果需要减小段间距,只需将该数值改为负值即可
TeX家族
此处建议直接查找原作者文档
如何解决问题
去读文档
关于 LaTeX 的文档有很多,其中有些内容过时地很快。所以有必要告诉大家,哪些文档应该看,那些文档不应该看。索性,这个问题,刘海洋(milksea)前辈已经叙述得很清楚了。前段时间,原作者和几个朋友,将现在看起来还未过时的文档打包上传到了原作者的博客。参考:ZIP 归档。
遇到问题怎么办
- 绝对的新手,先读完一本入门读物,了解基本的知识;
- 无论如何,先读文档!绝大部分问题都是文档可以解决的;
- 利用 Google 搜索你的问题;
- 在各个论坛或者 LaTeX 交流群里聪明地提出你的问题。
参考:https://github.com/ryanhanwu/How-To-Ask-Questions-The-Smart-Way/blob/master/README-zh_CN.md
特别致谢(转载但有部分修改):
原文作者: Liam Huang
原文链接: https://liam.page/2014/09/08/latex-introduction/
版权声明: 采用 BY-NC-SA 许可协议。转载请注明出处及原作出处!

浙公网安备 33010602011771号