我想修改无编号章节(即目录和参考书目)中的章节标题。对于这个我使用了以下内容:
\def\@makeschapterhead#1{
\fbox{\parbox{\linewidth}{\centering
\large\bfseries #1
}}}
问题是现在我无法使用该\tableofcontents
命令,因为它会发送一条警告并停止编译:
! LaTeX Error: Something's wrong--perhaps a missing \item.
See the LaTeX manual or LaTeX Companion for explanation.
Type H <return> for immediate help.
...
l.4 ...umberline {1}CV D\'etaill\'e}{2}{chapter.1}
? error: unknown file type
这只是一个警告,因为按回车键后,它会继续编译。但这是一个非常烦人的警告。
有什么帮助吗?
答案1
\par
以这种方式重新定义它(你至少缺少一个,并且使用\dimexpr\linewidth-2\fboxsep-2\fboxrule
而不是只是\linewidth
为了避免坏盒子)
\def\@makeschapterhead#1{%
\noindent\fbox{\parbox{\dimexpr\linewidth-2\fboxsep-2\fboxrule}{%
\centering\large\bfseries #1%
}}\par\nobreak}
梅威瑟:
\documentclass{report}
\makeatletter
\def\@makeschapterhead#1{%
\noindent\fbox{\parbox{\dimexpr\linewidth-2\fboxsep-2\fboxrule}{%
\centering\large\bfseries #1%
}}\par\nobreak}
\makeatother
\begin{document}
\tableofcontents
\chapter{A chapter}
\end{document}
输出:
答案2
makeschapterhead
我刚刚找到了解决问题的方法(如果有人能向我解释为什么它有效,我会很高兴)。我通过以下方式更改了定义:
\def\@makeschapterhead#1{
\begin{center}
\fbox{\parbox{\linewidth}{\centering
\large\bfseries #1
}}
\end{center}
}
也就是说,我只是将我的定义封闭在center
环境中。
奇怪的。