【LaTeX】E喵的LaTeX新手入门教程(4)图表
这里说的不是用LaTeX画图,而是插入已经画好的图片。。想看画图可以把滚动条拉到底。前情回顾【LaTeX】E喵的LaTeX新手入门教程(1)准备篇 【LaTeX】E喵的LaTeX新手入门教程(2)基础排版 【LaTeX】E喵的LaTeX新手入门教程(3)数学公式图片的插入A picture says more than a thousand words. — Shakespeare没图你说个××。 ——莎士比亚LaTeX支持的图片格式由于在前面的教程中建议大家使用XeLaTeX,因此在图形格式的支持上相比于其他引擎有着一些天然的优势。XeLaTeX所支持的图形格式有:bmp、jpeg、png、eps、pdf。如果你是使用Mac的壕,那么XeLaTeX还会支持GIF、PICT、PSD、SGA、TGA、TIFF等格式。。。这里主要说一下eps和pdf两种格式。eps是一种在TeX中很常用的矢量绘图格式,主流的科技绘图软件基本上都支持eps格式的导出。比如MATLAB在图形窗口中可以直接把图形保存成eps格式。pdf格式嘛。。(谁告诉你pdf只有A4那么大的。。)就是一个小块大小的pdf文档,里面到底有啥谁也管不着了。。矢量绘图格式的好处在于,放大多少倍都不会失真,打印在纸上也不会出现坑坑洼洼的锯齿什么的,是写作科技论文、书籍的必备佳品。支持导出eps格式的绘图软件包括:MS Visio、OOO Draw、MATLAB、Mathematica、GNUPlot、Asymptote等。必备宏包之graphicx插图就用它。。为啥?大家都用。。→_→\usepackage{graphicx}插入图片在正文当中插入一张图片很简单,使用\includegraphics{文件名}就可以了。A picture like\includegraphics{hit300.png}我们可以看到图片就被插入到正文当中了。有的时候插入的图片比较大。。比如现在这种情况。。我们就可以为\includegraphics添加一些选项来对图片进行缩放。A picture like\includegraphics[https://img1.php1.cn/3cd4a/24cea/a6e/cb78c7ae1b7e1ba4.jpeg” border=”0″ alt=”” referrerpolicy=”no-referrer”>\includegraphics的常用选项有:
height,指定插入图片的高度 width,指定插入图片的宽度 scale,指定插入图片的放大倍数 angle,指定插入图片的旋转角度,顺时针方向为正 draft,变为草稿模式,此时不读取图片,最终的输出结果只有一个和图片大小一样的框框,可以加快编译速度。可以在终稿之前使用\usepackage[draft]{graphicx}来加快编译速度,终稿时去掉这个选项。
height和width如果指定其一,则另一个则按比例缩放。如果都指定了就变形了→_→至于长度单位,可以用mm/cm/pt/em/ex/in等长度单位。(em指当前字号下大写字母M的宽度,ex指当前字号下小写字母x的宽度。大家可以直接用cm。。。)图形环境单纯使用\includegraphics插入的图形没有编号,也没有办法引用什么的,比较麻烦。因此LaTeX提供了figure环境,使用它插入的图会自动编号,并且可以被交叉引用。figure环境的用法如下:\begin{figure}[选项]\centering % 使后面的内容居中\includegraphics{..}\caption{图标题}\label{供引用的标签}\end{figure}figure环境会产生一个浮动的图形对象,LaTeX会自动地将它放置到美观的位置上。在选项中可以指定LaTeX放置浮动图片的位置优先次序。其中h表示here,表示放置在插入处。t表示top,页面的顶端。b表示bottom,页面的底端。p表示page,单独的图片页。默认的选项是[tbp],不过大家写文章的时候都比较愿意用[htbp]。meowmeow meow..\begin{figure}[htbp]\centering\includegraphics[https://img1.php1.cn/3cd4a/24cea/a6e/79d0b824ad5fb530.jpeg” border=”0″ alt=”” referrerpolicy=”no-referrer”>由于以上代码存在交叉引用,所以需要编译两遍。这里用到了一个比较有意思的长度,就是\textwidth,它指的是页面中正文文本的总宽度,前面还可以乘一个系数,当然不用写乘号。。。。这样当你改变页面设置时,图片会自动随着页面宽度缩放,这效果很炫哟。怎么样。。插图很简单吧。。其实figure环境就是个框架,你在里面用两个\includegraphics也没问题的。。。但是要分别为它们写标题的话。。大家可以去看宏包subfig的文档,这里就不详细说明了。表格的插入简单表格LaTeX内置了tabular表格环境,用法和array环境很类似。\begin{tabular}{对齐方式}第一行。。\\第二行。。\\….最后一行。。。\end{tabular}举个栗子。\begin{tabular}{|r||l|} \hline $x$ & $x^2$ \\ \hline \hline 1 & 1 \\ \hline 2 & 4 \\ \cline{1-1} 3 & 9 \\ \hline 4 & 16 \\ \hline\end{tabular}除了\hline可以插入一条水平线之外,\cline{起始列-结束列}可以插入仅包含部分单元格的水平线。浮动表格环境浮动表格环境跟浮动图形环境类似,也是自动编号并且自动排版的表格环境。它的用法也跟浮动图形环境类似,把figure换成table,\includegraphics换成tabular环境就可以了。\begin{table}[htbp]\centering\begin{tabular}{|r||l|} \hline $x$ & $x^2$ \\ \hline \hline 1 & 1 \\ \hline 2 & 4 \\ \cline{1-1} 3 & 9 \\ \hline 4 & 16 \\ \hline\end{tabular}\caption{Value of $x^2$}\label{tbl:square}\end{table}Table \ref{tbl:square} is of nonsense….
跨行、跨列表格跨列表格使用\multicolumn可以生成一个跨列单元格。用法如下:\multicolumn{列数}{对齐方式}{单元格内容}
\begin{tabular}{|r||l|} \hline $x$ & $x^2$ \\ \hline \hline 1 & 1 \\ \hline 2 & 4 \\ \cline{1-1} 3 & 9 \\ \hline 4 & 16 \\ \hline \multicolumn{2}{|c|}{…}\\ \hline\end{tabular}跨行表格要做出跨行表格,需要使用multirow宏包。\usepakcage{multirow}multirow宏包提供了\multirow产生跨行单元格。\multirow{列数}{宽度}{文本}宽度可以写成*使得自动适应,也可指定长度使其中文本得以折行。\begin{tabular}{|r||l|} \hline $x$ & $x^2$ \\ \hline \hline $-1$ & \multirow{2}{*}{1} \\ \cline{1-1} 1 & \\ \hline 2 & 4 \\ \cline{1-1} 3 & 9 \\ \hline 4 & 16 \\ \hline \multicolumn{2}{|c|}{…}\\ \hline\end{tabular}
此外multirow还有相当多的选项,读者可以自己查阅这个宏包的文档。又跨行又跨列的表格。。你有完没完。。结合着用上面的东西就可以了。但是,只能是\multirow放在\multicolumn里面,放反了会出错。定宽表格前面提到的表格环境中,单元格的宽度都是根据其中内容的宽度而改变的。如果想让表格整体指定宽度或某一列指定宽度的话。。大家可以去读读tabularx宏包的文档。本喵偷了个懒。。。。跨页表格使用tabular环境生成的表格是一个不可分割的整体,要弄出长长的跨页表格用它肯定是不行的了。因此这里再介绍一下longtable宏包。\usepackage{longtable}它提供了longtable环境,在使用长表的时候代替tabular环境。用法比较复杂:\begin{longtable}{对齐方式}\caption{标题}\label{标签}\\ % ←爱写不写表头\\可有可无的分隔线\hline什么的。。。\endfirsthead续表表头\\可有可无的分隔线\hline什么的。。。\endhead表格末尾的分隔线什么的。。。\endfoot长长的表格内容。。\end{longtable}具体效果如何。。那么长还截个毛线图。。大家回去试好了0w0科技文献三线表使用booktabs宏包,可以生成三线表所需的线。\toprule、\midrule、\bottomrule看名字就知道该放哪儿了。斜线表头使用diagbox宏包可以绘制表格左上角带有斜线的表头单元格,用法巨简单。\diagbox{左下角的东西}{右上角的东西}\diagbox{左下角的东西}{左上角的东西}{右上角的东西}想要修改斜线方向等高级选项,参阅diagbox宏包文档。用LaTeX画图。。比较好用的画图包是TikZ。去看tikz宏包的文档吧,实在是太厚了。但是画图效果真不是盖的。注:使用XeLaTeX引擎可能会使TikZ的一些填充效果变得很糟糕。建议的方法是使用pdfLaTeX进行绘图,使用standalone文档类生成一个pdf图片供XeLaTeX插入。下期预告参考文献的引用和自动生成参考文献列表from: http://blog.renren.com/blog/339175058/894000790?bfrom=01020110200