问题描述
学位论文打算使用latex模板:
https://github.com/x-magus/ThesisUESTC/tree/e58e3b8324fc96622c7c415145cd2bd4ee1fc17e
使用过程中遇到了一些小问题,记录如下。
1. 符号表的添加
上述版本是不支持符号表的,仅支持缩略词表。但感觉论文中的符号表似乎比缩略词表更有用。于是,参考模板中的缩略词表,以及另一个模板中的符号表, 修改了模板(thesis-uestc.cls)以支持符号表。
核心代码如下:
% 符号表
\newglossarystyle{uestc-chinese-symbol}{
% \setlength{\glsdescwidth}{.3\textwidth}
% \setlength{\glspagelistwidth}{.3\textwidth}
\renewenvironment{theglossary}%
{\begin{longtable}{lp{\glsdescwidth}p{\glspagelistwidth}}}%
{\end{longtable}}%
%设置说明列宽度:
\setlength{\glsdescwidth}{85mm}
%设置页码列宽度:
\setlength{\glspagelistwidth}{7em} % 说明列+页码列=96
%设置没有表头, 以及内容
\renewcommand*{\glossaryheader}{%
\heiti 符号 &\heiti 说明 &
\heiti 页码 \tabularnewline\endhead}%
%设置分组间没有表头:
\renewcommand*{\glsgroupheading}[1]{}%
%主条目第一列名称,第二列说明,第三列页码:
\renewcommand{\glossentry}[2]{
\glsentryitem{##1}\glstarget{##1}{\glossentryname{##1}} &
\glossentrydesc{##1} & ##2\tabularnewline
}
%子条目第一列空置,第二列说明,第三列页码:
\renewcommand*{\subglossentry}[3]{
&
\glssubentryitem{##2}%
\glstarget{##2}{\strut}\glossentrydesc{##2} &
##3\tabularnewline
}%
%定义分组间空白:
\renewcommand*{\glsgroupskip}{%
\ifglsnogroupskip\else & &\tabularnewline\fi}%
%定义表头:新模板中已定义,故可删掉
% \renewcommand*{\glossaryheader}{%
% \bfseries\entryname&\bfseries\descriptionname&
% \bfseries\pagelistname\tabularnewline\endhead}%
}
以及
\newcommand{\thesissymbollist}{
\newpage
\fancyhf{}
\ifchinesebook{
\fancyhead[C]{\fontsize{10.5pt}{12.6pt}\selectfont 符号表}
\fancyfoot[CE,CO]{\fontsize{9pt}{10.8pt}\selectfont\Roman{pseudopage}}
\pdfbookmark{符号表}{glossary}
\printglossary[style=uestc-chinese-symbol, title={\protect\centering 符号表}, nogroupskip]
}{
\fancyhead[C]{\fontsize{10.5pt}{12.6pt}\selectfont Glossary}
\fancyfoot[CE,CO]{\fontsize{9pt}{10.8pt}\selectfont\Roman{pseudopage}}
\pdfbookmark{Glossary}{glossary}
\printglossary[style=uestc-english, title={\protect\centering Glossary}, nogroupskip]
}
\newpage
}
2. 符号表中的数学符号无法实现正体加粗
根据readme,模板使用\mathbd
命令实现正体加粗,使用\mathbf
实现斜体加粗。这样虽然有好处,但也会带来一些问题,如:
- 已有源文件中的正体加粗使用
\mathbf
,该模板只是斜体加粗; - 符号表中无法实现正体加粗。
解决方案:
注释模板文件中的下面几行代码即可
% \DeclareMathAlphabet{\mathbf}{\eu@enc}{\eu@mathrm}{\bfdefault}{it}
% \DeclareMathAlphabet{\mathbd}{\eu@enc}{\eu@mathrm}{\bfdefault}{n}
% \newcommand{\bm}{\mathbf}
3
未完待续