我正在使用该类编写文档book
。问题是,我希望标题采用小写字母。如何强制它们采用小写字母?
示例代码如下
\documentclass{book}
\usepackage{lipsum}
\begin{document}
\chapter{Chapter one $e^--p^+$}
\lipsum[1-10]
\end{document}
输出结果如下
答案1
如果你不使用任何在文档中自动大写的形式,添加
\let\MakeUppercase\relax
到你的文档序言中。这使得\MakeUppercase
(在默认book
文档类使标题大写)变为无操作。
但是,文档中的其他元素可能仍在使用这个,而你却不知道。最好通过页面样式以抽象且可管理的方式定义这些标题。下面是使用titleps
:
\usepackage{titleps}% http://ctan.org/pkg/titleps
\makeatletter
\newpagestyle{main}{% Define page style main
\sethead%
[\slshape\thesection.\ \sectiontitle][][]% [<even-left>][<even-centre>][<even-right>]
{}{}{\slshape\@chapapp~\thechapter.\ \chaptertitle}% {<odd-left>}{<odd-centre>}{<odd-right>}
\setfoot{}{\thepage}{}% {<left>}{<centre>}{<right>}
}
\pagestyle{main}% Use page style main
更多详细信息请访问titleps
文档或来自titleps
对于fancyhdr
用户。
答案2
设置标题以fancyhdr
避免自动大写很容易;添加字体选择命令,例如\itshape
之前\nouppercase
。
\documentclass{book}
\usepackage{fancyhdr}
\pagestyle{fancy}
\renewcommand{\headrulewidth}{0pt}
\fancyhf{}
\fancyhead[LO]{\nouppercase{\rightmark}}
\fancyhead[RE]{\nouppercase{\leftmark}}
\fancyhead[LE,RO]{\thepage}
% This is just for the example
\usepackage{kantlipsum}
\newcommand\achap{
\chapter{Title with math $a+b=c$}
\section{Abc}\kant\section{Bcd}\kant\section{Cde}\kant}
\begin{document}
\frontmatter
\tableofcontents
\mainmatter
\achap\achap\achap\achap
\achap\achap\achap\achap
\end{document}
答案3
与您的编辑相关,您可以重新定义默认定义\chaptermark
:
\documentclass{book}
\usepackage{lipsum}
\makeatletter
\def\chaptermark#1{\markright{
\ifnum \c@secnumdepth >\m@ne\if@mainmatter
\@chapapp\ \thechapter. \ %
\fi\fi #1}}
\makeatother
\begin{document}
\chapter{Chapter one $e^--p^+$}
\lipsum[1-10]
\end{document}
fancyhdr
第二种方法是使用评论中建议的包:
\documentclass{book}
\usepackage{lipsum}
\usepackage{fancyhdr}
\fancyhead[RE]{\nouppercase{\leftmark}}
\fancyhead[LO]{\nouppercase{\rightmark}}
\pagestyle{fancy}
\begin{document}
\chapter{Chapter one $e^--p^+$}
\lipsum[1-10]
\end{document}