LaTeX中的浮动体
浮动体
1、实现灵活分页(避免无法分割的内容产生的页面留白)。
2、给图表添加标题。
3、交叉引用。
浮动体是为了排版更紧密,有的图片直接放文字下面会另起一页,浮动体就避免了这个问题。
前言
前几节我们讲了,在LaTeX中,可以用graphicx
宏包的includegraphics
命令来插入图像。
使用tabular
环境来创建表格。
效果:
但是要灵活实现图像和表格的管理,还需要使用浮动体环境。
figure浮动体环境
在LaTeX中,有figure
浮动体环境。
可以将includegraphics
代码放入figure浮动体环境中。
table浮动体环境
在LaTeX中,还有table
浮动体环境。
可以将用于生成表格的tabular
环境放在table
环境中。
编译并查看结果:
可以看到,图像与表格的位置都发生了浮动。
居中排版
可以使用centering
命令让环境中的内容居中排版。
编译运行,查看结果:
由于centering
是在figure
和table
环境中,所以,只影响环境中的内容。
指定排版位置
还可以通过可选参数指定浮动体的排版位置。
编译查看结果:
同样,对于table
环境,也可以设置排版位置参数。
编译运行查看结果:
注意:figure环境(table环境与之类似)
\begin{figure}[ <允许位置> ] > > <任意内容> > >\end{figure} 任意内容> 允许位置>
<允许位置>参数(默认tbp)h,此处(here)--- 代码所在的上下文位置
b,页底(bottom)--- 代码所在的页面或之后页面的底部
p,独立一页(page) --- 浮动页面
t,页顶(top)--- 代码所在的页面或之后页面的顶部
htbp --- 允许各个位置
设置插图标题
通过caption
命令设置插图的标题。
编译运行查看结果:
由排版结果可以看到,该插图被自动进行了编号。
对table
环境,我们也可以做类似的处理。
编译查看结果:
可以看到,表格也被自动编号了。
并且与插图的编号是相互独立的。
为浮动体设置标签
用label
命令为浮动体设置标签。
、
利用ref
命令可以引用这一个标签。
这样就可以实现交叉引用。
编译查看结果:
一定要先设置好标签label然后才能用ref引用!!!
同样,我们也可以设置表格浮动体的标签。
先用label
设置标签。
然后利用ref
引用标签。
编译运行结果:
从而实现了表格的交叉引用。
我们再插入两个图片。
编译运行查看结果:
:question: 为啥图片不在指定文字下方???
我们用这样的命令来限制它。
解决办法
首先:在 .tex 文件头部加入宏包: \usepackage{float}
其次:在插入图片的语句后面加个 [H] 即可.
我们可以看到,每张图都进行了正确的编号并且实现了正确的交叉引用。
:question: LaTeX 编译慢?
是因为每次都要重新加载这些东西,它需要重新寻找字体。寻找过程很漫长。
所以推荐,在执行相应代码的时候,将其他代码注释掉。
我们现在来注释一段。
:question: VScode如何注释?
选中一段,然后按住“Ctrl+/”可以完成块注释。
我们来注释这一段。
然后再次编译运行。
可以看到,刚才的 “图3:城市”变成了“图2:城市”。
这里就体现了交叉引用的灵活性。
在这里,附上代码,供大家学习使用:
%导言区
\documentclass{ctexart}
%usepackage{ctex}
\usepackage{graphicx}
\graphicspath{{figures/}} %图片在当前目录下的figures目录
\usepackage{float}
%正文区
\begin{document}
\LaTeX{} \TeX 天空之城 \ref{fig-sky} 。
\begin{figure}[htbp]
\centering
\includegraphics[scale=0.3]{two.png}
\caption{\TeX 天空之城} \label{fig-sky}
\end{figure}
% 遥望天空之城,那一座座灯塔(图\ref{fig-light})。
% \begin{figure}[H]
% \centering
% \includegraphics[scale=0.3]{three.png}
% \caption{灯塔} \label{fig-light}
% \end{figure}
在遥远的天边,一座座城市屹立在那里(图\ref{fig-country})。
\begin{figure}[H]
\centering
\includegraphics[scale=0.3]{four.png}
\caption{城市} \label{fig-country}
\end{figure}
在 \LaTeX{} 中的表格 \ref{tab-score} 。
\begin{table}[h]
\centering
\caption{考试成绩单} \label{tab-score}
\begin{tabular}{|l|c|c|c|r|}
\hline
姓名 & 语文 & 数学 & 外语 & 备注 \\
\hline
张三 & 87 & 100 & 93 & 优秀 \\
\hline
李四 & 67 & 87 & 75 & 良好 \\
\hline
\end{tabular}
\end{table}
\end{document}
其他
标题控制:caption
、bicaption
等宏包。
并排与子图表:subcaption
、subfig
、floatrow
等宏包。
绕排:picinpar
、wrapfig
等宏包。
详情请查阅相关宏包手册。