使用 ccaption 宏包
在导言中使用
\usepackage{ccaption}
引入 ccaption 宏包,之后在 figure 或者 table 环境中使用 \bicaption 命令生成中英文双语标题即可
\begin{figure} \centering \includegraphics{image} \bicaption{图}{中文标题}{Figure}{English title} \end{figure}
即可。
两个问题一:如何引用图表
一般浮动环境的 label 是打在了 caption 命令之后,这个命令的 label 要打在前面,很多使用者不够方便。
\bicaption[label:figxx]{图}{中文标题}{Figure}{English title}
两个问题二:caption 宏包兼容问题
但这个宏包与 caption 宏包相互不兼容,如果同时使用会提示
LaTeX Error: Command \captionwidth already defined
解决这个问题的方案就是第二个宏包。
使用 bicaption 宏包
bicaption 是一个基于 caption 的宏包,所以同时使用 caption 和 bicaption 宏包。bicaption 官方文档通过 babel 宏包进行语言配置,这相对繁琐,对于中文排版不是十分友好,所以本文 bicaption 的使用部分是基于 ctex 宏包的基础上进行配置的。
首先需要引入 ctex 宏包,可以使用 \usepackage 命令或者直接在 \documentclass 中使用 ctex 定义好的几种样式 (ctexart etc.)。之后引入 caption 和 bicaption 宏包并配置图表编号前缀
\usepackage{ctex} %引入CTEX宏包 \usepackage{caption} \usepackage{bicaption} \captionsetup[figure][bi-second]{name=Figure} %设置图的英文编号前缀 \captionsetup[table][bi-second]{name=Table} %设置表的英文编号前缀
现在在 figure 或者 table 环境中使用 \bicaption 命令生成中英文双语标题即可
\begin{figure} \centering \includegraphics[width=.75\textwidth]{image} \bicaption{中文标题}{English title} \label{label:figxx} \end{figure}
效果如下:
请注意两个宏包的 \bicaption 定义不同,不要用混。
如果希望将中文标题放到后面,只需要更改 \captionsetup 如下
\captionsetup[figure][bi-first]{name=Figure} %设置图的英文编号前缀 \captionsetup[table][bi-first]{name=Table} %设置表的英文编号前缀
然后在使用 \bicaption 时将两个参数调换顺序
\bicaption{English title}{中文标题}
就可以实现。
参考文献
[1] LaTeX_Fun. LaTeX 技巧225:图表中英文双标题的使用技巧. 2010.01.17. http://blog.sina.com.cn/s/blog_5e16f1770100gvt9.html
[2] Google Groups. Using caption package with ccaption package: ! LaTeX Error: Command \captionwidth already defined. https://groups.google.com/forum/#!topic/comp.text.tex/e5hBDHlncr4
[3] Axel Sommerfeldt. bicaption – Support for bilingual captions. 2012.04.10. https://ctan.org/pkg/bicaption
选自:
图片素材选自:https://pixabay.com/
发表评论 取消回复