我正在使用书籍类编写文档。正常的章节标题格式如下(对于书中的第一章):
第1章
<第一章名称>
相反,我希望它是:
第一章
<第一章名称>
当然,用“第二章”代替“第 2 章”等等。我没有很多章节,所以如果有一种方法可以手动输入“第一章”部分,那就可以接受。事实上,我认为这是必要的,因为这本书是冰岛语的,我不认为 Babel 会支持这种翻译。所以,为了记录,我真的希望它说的是“Fyrsti kafli”而不是“第 1 章”。
理想情况下,此解决方案还会处理标题中的章节名称,但如果没有,我可以通过使用
\markboth{First chapter. Name of first chapter}{1.1 Name of first subchapter}
答案1
一个选项是使用titlesec
和fmtcount
(轻松获取chapter
计数器的序数字符串);使用fancyhdr
并且对 进行简单的重新定义即可\chaptermark
得到所需的标题格式:
\documentclass{book}
\usepackage[a6paper]{geometry}% just for the example
\usepackage{titlesec}
\usepackage{fmtcount}
\usepackage{fancyhdr}
\usepackage{lipsum}% just for the example
\titleformat{\chapter}[display]
{\normalfont\huge\bfseries}
{\Ordinalstring{chapter}~\chaptertitlename}
{20pt}
{\Huge}
\pagestyle{fancy}
\fancyhf{}
\fancyhead[OL]{\leftmark}
\fancyhead[ER]{\nouppercase\rightmark}
\renewcommand{\chaptermark}[1]{%
\markboth{\Ordinalstring{chapter}~\chaptername.\ #1}{}}
\begin{document}
\chapter{A test chapter}
\section{Test section}
\lipsum[1-6]
\end{document}
结果:
因为,正如埃格尔通知his comment
,fmtcount
不支持冰岛语,可以使用\ifcase
:
\documentclass{book}
\usepackage[icelandic]{babel}
\usepackage[a6paper]{geometry}% just for the example
\usepackage{titlesec}
\usepackage{fmtcount}
\usepackage{fancyhdr}
\usepackage{lipsum}% just for the example
\newcommand\icelandicordinal[1]{%
\ifcase\value{#1}\or
Fyrsti\or
<second>\or...
<third>%
\fi
}
\titleformat{\chapter}[display]
{\normalfont\huge\bfseries}
{\icelandicordinal{chapter}~\MakeLowercase\chaptertitlename}
{20pt}
{\Huge}
\pagestyle{fancy}
\fancyhf{}
\fancyhead[OL]{\leftmark}
\fancyhead[ER]{\nouppercase\rightmark}
\renewcommand{\chaptermark}[1]{%
\markboth{\icelandicordinal{chapter}~\MakeLowercase\chaptername.\ #1}{}}
\begin{document}
\chapter{A test chapter}
\section{Test section}
\lipsum[1-6]
\end{document}
结果: