目前两个宏包能实现这个功能,分别是ccaption和bicaption,下面分别讲解
使用ccaption宏包
在引言中使用
\usepackage{ccaption}
引入ccaption宏包,之后在figure或者table环境中使用\bicaption命令生成中英文双语标题即可
\begin{figure}
\centering
\includegraphics{image}
\bicaption{图}{中文标题}{Figure}{English title}
\end{figure}
即可。
但这个宏包与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{image}
\bicaption{中文标题}{English title}
\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