回忆录:停止在目录中使用连字符

回忆录:停止在目录中使用连字符

我正在使用 xelatex 和memoir课程撰写我的论文。我的许多章节标题都包含长单词,我不想在目录中用连字符连接。

根据回忆录类用户指南,我应该能够使用此命令来实现这一点: \renewcommand{\@tocrmarg}{2.55em plus1fil} 这曾经有效,但现在随着 tex 的更新版本,它不再有效。

我一直将此命令放在前导中,但现在它会抛出错误 ( Missing \begin{document})。将其移至之后\begin{document}并不能解决这个问题。

我意识到我可以只需手动在章节标题中添加换行符,但由于我是使用命令生成标题的,所以这并不是很有用。

我真的只是想让@tocrmarg命令重新定义起作用......

谁能帮忙?我在下面附上了一个最小示例(已\renewcommand注释掉):

\documentclass[11pt,oneside]{memoir}
\renewcommand{\@tocrmarg}{2.55em plus1fil}
\begin{document}
\tableofcontents


\newcommand{\lw}{Thisisalongwordverylong}

\chapter{\lw\ \lw\ \lw}

\end{document}

答案1

您必须处理@命令名称中的 - 符号。TeX 无法将其识别为名称的一部分。要解决此问题,请将整个 - 符号括\renewcommand起来\makeatletter...\makeatother

\documentclass[11pt,oneside]{memoir}
\makeatletter %% HERE
\renewcommand{\@tocrmarg}{2.55em plus1fil}
\makeatother %% AND HERE
\begin{document}
\tableofcontents


\newcommand{\lw}{Thisisalongwordverylong}

\chapter{\lw\ \lw\ \lw}

\end{document}

相关内容