书籍(标准类),章节*部分的标题不是全部大写 - 需要紧急帮助

书籍(标准类),章节*部分的标题不是全部大写 - 需要紧急帮助

我在 Lyx 2.1 book(标准类)中有一个 400 页的文档,使用默认设置。\chapter标题在页眉中全部大写,但\chapter*标题(我手动添加到目录中并使用 包括标题\markboth)显示为普通斜体小写。有没有简单的方法可以使它们相同?

我确实知道这个fancyhdr(或类似的东西)软件包就是为此目的而发明的,但这本书明天就要印刷了(大型商业出版商),我不能冒险做任何重大更改,因为它已经校对过了。我想简单地更改几个需要更改的标题,而不进行任何重新格式化。

提前谢谢了。

答案1

这是一个解决方案,它将添加运行标题到全部章节未编号,因此请小心处理。它使用包etoolbox来添加markboth您手动执行的命令。 小心,此代码注定会失败。最好手动设置标题。

需要指出的是,将某些内容大写的正确方法是使用\MakeUppercase{<content>}

顺便说一句:KOMA 级有自己的命令来处理这类事情。我曾经在正确使用 hyperref 和 addcontentsline还有其他绊线可能会被击中。

\documentclass{book}
\usepackage{blindtext}
\usepackage{etoolbox}
\makeatletter
%The following adds a running header for ALL unnumbered chapters
\pretocmd{\@schapter}{%pre
\markboth{\MakeUppercase{#1}}{}%
\typeout{Are your sure you want to mark a head here?}%
}{\typeout{Succes}
}{%Fail
\typeout{FAIL}}
\makeatother
\begin{document}
\tableofcontents
\chapter{a numbered chapter}
\blindtext[10]
\section{a section}
\blindtext[10]
\chapter*{an unnumbered chapter}
\addcontentsline{toc}{chapter}{a unnumbered chapter}
\blindtext[10]
\section{a section}
\blindtext[10]
\chapter*{another unnumbered chapter}
\addcontentsline{toc}{chapter}{another unnumbered chapter}
\blindtext[10]
\end{document}

答案2

请参阅 Piet van Oostrum 编写的 pdf 文档“Latex 中的页面布局”。他说,如果你想让章节标题大写,你必须使用以下命令

\renewcommand{\chaptermark}[1]{%
\markboth{\MakeUppercase{%
\chaptername\ \thechapter.%
\ #1}}{}}

在序言中\pagestyle{fancy}

默认:
标题文本全部大写book.cls

根据 Leslie Lamport 的书籍风格,您必须在序言中使用以下内容 \renewcommand{\chaptermark}[1]{\markboth{#1}{}},以消除章节编号和大写字母。将其添加为注释并添加上述命令,以大写字母显示章节标题。a

相关内容