使用nomencl
宏包时,术语表只有两个entry——label和description。如果要增加第三个entry,比如中文术语,该如何实现?
方法1:使用\nomentryend
命令
一个简单的方法是通过使用\nomentryend
命令将中文术语添加到第二个entry中,即
% 术语表加入中文项
\newcommand{\nomchinese}[1]
{
\renewcommand{\nomentryend}{\hspace*{\fill}\makebox[4cm][l]{#1}}
}
正文中使用时按照如下格式:
% 带中文的术语
\nomenclature{CCD}{charge-coupled device\nomchinese{电荷耦合器件}}
效果如下:
但是这种方法在术语较长时不能自动换行,排版不美观:
方法2
如果要实现换行,思路是将中英文description设置为\parbox
表格形式,再打包放入\nomenclature
的第二个参数中。完整代码如下:
\documentclass{article}
% 宏包
\usepackage{nomencl}
\usepackage[UTF8]{ctex}
% 更改术语表标题并居中显示
\renewcommand{\nomname}{\makebox[\linewidth]{缩写、符号清单、术语表}}
% 方法1中文术语表(不能自动换行)
%\newcommand{\nomchinese}[1]
%{
% \renewcommand{\nomentryend}{\hspace*{\fill}\makebox[4.5cm][l]{#1}}
%}
% 方法2中文术语表
\newcommand{\nomdescr}[1]{
\parbox[t]{8cm}{\raggedright\strut #1 \strut}
}
\newcommand{\nomdescrchn}[1]{
\hfill\parbox[t]{4.5cm}{\strut #1 \strut}\ignorespaces
}
\newcommand{\nomchn}[4][]{
\nomenclature[#1]{#2}{
\nomdescr{#3}
\nomdescrchn{#4}
}
}
% 生成术语表
\makenomenclature
\begin{document}
正文文字
% 术语(方法1)
%\nomenclature{CCDCCD}{charge-coupled device charge-coupled device charge-coupled device \nomchinese{电荷耦合器件电荷耦合器件}}
%\nomenclature{CCD}{charge-coupled device \nomchinese{电荷耦合器件}}
% 术语(方法2)
\nomchn{CCDCCD}{charge-coupled device charge-coupled device charge-coupled device}{电荷耦合器件电荷耦合器件电荷耦合器件}
\nomchn{CCD}{charge-coupled device}{电荷耦合器件}
% 显示术语表
\printnomenclature[2cm]
\end{document}
效果如下:
参考:
1.Nomenclature Having Two or More descriptions and Units for a symbol
2.How to achieve nomenclature entries like: symbol, Description, Dimension and unit, etc?
3.Vertical spacing between parboxes