本案例可能需要使用到的宏包
方式 1:通过计数器
难点:插入图片之后,Latex 是如何知道这张图片是图 2(而不是图 3,图 4)呢?原因在于计数器。通过 figure 环境添加图片之后,计数器自动加一。
如果我们为图片添加了第二个标题的话,第一个标题(中文标题)为图 1,第二个标题(英文标题)就会变为图 2 了,而这两个标题明明是指同一张图片,此时就需要在添加第二个标题之前将计数器再减掉 1。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
| \documentclass{ctexart} \usepackage{graphicx}
\begin{document} \begin{figure} \centering \includegraphics[width=1.5in]{fig/cat2} \vspace{-10pt} \caption{这是一只可爱的猫} \addtocounter{figure}{-1} \renewcommand{\figurename}{Fig} \vspace{-10pt} \caption{This is a cute cat} \renewcommand{\figurename}{图} \label{Bigcat} \end{figure} \end{document}
|
每句代码的意思已经写在注释中了,那么在插入第二章图片试一下是否有问题
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
| \documentclass{ctexart} \usepackage{graphicx}
\begin{document} \begin{figure} \centering \includegraphics[width=1.5in]{fig/cat2} \vspace{-10pt} \caption{这是一只可爱的猫} \addtocounter{figure}{-1} \renewcommand{\figurename}{Fig} \vspace{-10pt} \caption{This is a cute cat} \renewcommand{\figurename}{图} \label{Bigcat} \end{figure}
以上是本示例的第一张图片:\ref{Bigcat},接下来插入第二章图片:
\begin{figure}[htbp] \centering \includegraphics[width=3in]{fig/QHU} \vspace{-10pt} \caption{青海大学美景} \addtocounter{figure}{-1} \renewcommand{\figurename}{Fig} \vspace{-10pt} \caption{QHU's grand landscape} \renewcommand{\figurename}{图} \label{QHU-landscape} \end{figure} \end{document}
|
图片的图例没有问题,可是为什么图 2 会在那段文字的上方去了呢?原因在于 Latex 排版时会自动为我们排版出尽可能少的页面空白,让页面看起来更美观。这或许也正是 figure 环境为浮动体的体现吧
那么可以在第二章图片的 figure 环境后添加 htbp
参数,让 Latex 按照我们的要求进行排版
1 2 3 4 5 6 7
| 以上是本示例的第一张图片:\ref{Bigcat},接下来插入第二章图片:
\begin{figure}[htbp] \centering
|
浮动体中有关插图位置的参数,详细规则见文末参考资料 1
- h: here 将图片插到此处
- t: top 将图片插到页顶
- b: bottom 将图片插到页底
- p: page 插图独立一页
- H: 将图片固定在此处
一般参数取 h 或 H 就好了,当然也可以写多个参数,如 htbp, 此时参数会按照顺序执行,首先尝试用 h,如果不行再依次使用其他参数 (其实效果和单独一个 h 差不多)。
方式 2:通过 bicaption 宏包
直接使用 bicaption 宏包就比较简单啦,毕竟宏包的开发作者就是针对这个双语标题开发出来的嘛。
1 2 3 4 5 6 7 8 9 10 11
| \documentclass{ctexart} \usepackage{graphicx} \usepackage{bicaption} \begin{document} \begin{figure} \centering \includegraphics[width=1.5in]{fig/cat2} \bicaption{这是一种可爱的猫}{This is a cute cat} \label{Bigcat} \end{figure} \end{document}
|
很遗憾,并没有像我们预想的那样,第二个标题的图例还是中文。宏包作者没有直接为我们定义好第二个标题的图例是有原因的,他不针对中文用户,对于其他需求,比如第一个标题为母语,第二个标题为俄语呢,通过我们自己的需求来设置第二个标题的图例是不是更好一些。
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| \documentclass{ctexart} \usepackage{graphicx} \usepackage{bicaption}
\begin{document} \captionsetup[figure][bi-second]{name=Fig} \begin{figure} \centering \includegraphics[width=1.5in]{fig/cat2} \bicaption{这是一种可爱的猫}{This is a cute cat} \label{Bigcat} \end{figure} \end{document}
|
参考资料:
- CSDN: LaTex 论文排版 | (19) LaTex 中的插图问题 @CoreJT
- Latex 官方中文文档: 一份(不太)简短的 LATEX2ε 介绍