我正在格式化我的论文,并一直使用为其创建了自定义样式文件的模板。该模板的封面内容,例如“表格列表”、致谢等,列在目录中。这部分将被删除。在这个封面中,我还需要将标题从“全大写”更改为小写、粗体和左对齐。在不了解样式文件格式的情况下,我能够在 .cls 文件中进行所有这些更改,但在表格列表和图表列表中的章节之间留下了 at 符号。
我注释掉了 JAH 列出的两行。
\def\listoftables{%
\@restonecolfalse%
\if@twocolumn\@restonecoltrue\onecolumn\fi%
\newpage%
\centerline{\expandafter
%\uppercase %remove JAH
\bfseries%
\expandafter{
\begin{flushleft}%
\listtablename}
\end{flushleft}%
}%
\bigskip%
\phantomsection%
% \addcontentsline{toc}{frontmatter}{\protect\numberline{}\listtablename }%
%%This removes item from TOC. JAH
% This group overloads \numberline to output ``Table 1.3'' instead of ``1.3''
\begingroup%
\let\ORIG@numberline\numberline%
\renewcommand*{\numberline}[1]{\ORIG@numberline{\tablename~##1:}}%
{\ssp\@starttoc{lot}}%
\if@restonecol\twocolumn\fi%
\endgroup %
}
我正在使用基本的反复试验来进行这些更改,我需要一些了解样式文件代码 .cls .sty 的人的帮助
谢谢,亚当
答案1
这些@
不是由显示的代码生成的,可能是您的\chapter
命令正在向文件写入某些内容.lot
。显示该文件中的内容会很有用(更有用的是可重现的示例)
标题代码是
\centerline{\expandafter
%\uppercase %remove JAH
\bfseries%
\expandafter{
\begin{flushleft}%
\listtablename}
\end{flushleft}%
}%
有什么理由不简单地使用呢\section*{\listtablename}
?
\centerline
并不是真正的 latex 命令,它是纯 TeX 的遗留,通常不会生成与文档中其他标题相匹配的内容。如果您使用它,内容必须是水平模式材料(它就像\hbox
),因此不能包含flushleft
环境。因为它会产生错误
! LaTeX Error: Something's wrong--perhaps a missing \item.
请注意,发生错误后,pdf 中的任何输出基本上都是随意的TeX 的错误修正并非旨在产生合理的排版输出,而仅仅是为了使其恢复到可以处理更多文档的状态,主要用于错误检查目的。
代码可能缺少了 和之后%
的,并且没有任何作用,即使没有它们也会得到相同的结果。{
\listtablename}
\expandafter