
Я хочу изменить название главы в главах без номера (А именно, оглавление и библиографию). Для этого дельфина я использовал следующее:
\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
Это просто предупреждение, потому что при нажатии Enter компиляция продолжается. Но это довольно раздражающее предупреждение.
Любая помощь?
решение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
среду.
Странный.