例如,我会\addcontentsline{toc}{chapter}
为不同的参考书目提供单独的章节标题,并提供简短和详细的目录。
但是,使用此命令\addcontentsline{toc}{chapter}{Inhalts\"ubersicht}
,可以\chaptertitle
按预期打印,但中的 headertitleToC
会以大写形式打印,即INHALTSÜBERSICHT
,如下所示:
但是,只有当我使用该\addcontentsline{toc}{chapter}{Inhalts\"ubersicht}
命令时才会发生这种情况,在所有其他情况下,它都是正常的,即除了首字母外,都是正常/小写。强制\addcontentsline
执行相同操作的命令是什么?我该如何重新定义它?
我正在使用 Springer 的 SV Mono Class 5.5:https://www.overleaf.com/latex/templates/template-for-springer-monographs-slash-textbooks/jkmjvjrkqrpb
作为 MWE:
\documentclass[graybox,envcountchap,sectrefs]{svmono}
\usepackage{shorttoc}
\usepackage{emptypage}
\usepackage{biblatex}
\bibliography{lit.bib}
\makeindex
\begin{document}
\cleardoublepage
\addcontentsline{toc}{chapter}{Inhalts\"ubersicht}
\shorttableofcontents{Inhalts\"ubersicht}{0}
\cleardoublepage
\addcontentsline{toc}{chapter}{Inhaltsverzeichnis}
\tableofcontents
\cleardoublepage
\include{Contents/acronym}
\mainmatter
\chapter{Einleitung}
\chapter{Einleitung2}
\chapter{Einleitung3}
\chapter{Einleitung4}
\chapter{Einleitung99}
\chapter{Einleitung5}
\chapter{Einleitung6}
\chapter{Einleitung7}
\chapter{Einleitung8}
\chapter{Einleitung9}
\chapter{Einleitung10}
\chapter{Einleitung11}
\chapter{Einleitung12}
\chapter{Einleitung13}
\chapter{Einleitung14}
\chapter{Einleitung15}
\chapter{Einleitung16}
\chapter{Einleitung17}
\chapter{Einleitung18}
\chapter{Einleitung19}
\end{document}
使用该类,应用于我的 MWE,这是输出:https://www.overleaf.com/read/tdqjnpttdkkf
答案1
问题是由于shorttoc
掌握主动权并适用\uppercase
于该称号所致。
\documentclass[graybox,envcountchap,sectrefs]{svmono}
\usepackage{shorttoc}
\usepackage{emptypage}
\usepackage{biblatex}
\bibliography{lit.bib}
\makeindex
% patch \shorttableofcontents
\usepackage{etoolbox}
\patchcmd{\shorttableofcontents}
{\uppercase{#1}}
{#1}
{}{}
\patchcmd{\shorttableofcontents}
{\uppercase{#1}}
{#1}
{}{}
\patchcmd{\shorttableofcontents}
{\uppercase{#1}}
{#1}
{}{}
\patchcmd{\shorttableofcontents}
{\uppercase{#1}}
{#1}
{}{}
% end of patch
\begin{document}
\cleardoublepage
\addcontentsline{toc}{chapter}{Inhalts\"ubersicht}
\shorttableofcontents{Inhalts\"ubersicht}{0}
\cleardoublepage
\addcontentsline{toc}{chapter}{Inhaltsverzeichnis}
\tableofcontents
\cleardoublepage
%\include{Contents/acronym} % don't have it
\mainmatter
\chapter{Einleitung}
\chapter{Einleitung2}
\chapter{Einleitung3}
\chapter{Einleitung4}
\chapter{Einleitung99}
\chapter{Einleitung5}
\chapter{Einleitung6}
\chapter{Einleitung7}
\chapter{Einleitung8}
\chapter{Einleitung9}
\chapter{Einleitung10}
\chapter{Einleitung11}
\chapter{Einleitung12}
\chapter{Einleitung13}
\chapter{Einleitung14}
\chapter{Einleitung15}
\chapter{Einleitung16}
\chapter{Einleitung17}
\chapter{Einleitung18}
\chapter{Einleitung19}
\end{document}
删除每个需要四个补丁\uppercase
。
只需一个补丁即可完成
% patch \shorttableofcontents
\usepackage{regexpatch}
\makeatletter
\xpatchcmd*{\shorttableofcontents}
{\uppercase{#1}}
{#1}
{}{}
\makeatother
% end of patch
答案2
这是因为shorttoc
,这\uppercase
适用于标题标记。您可以使用
\usepackage{shorttoc,regexpatch}
\makeatletter
\xpatchcmd*{\shorttableofcontents}{\uppercase}{}{}{}% Remove all \uppercase
\makeatother