在章节标题中使用序数词(例如第一章)

在章节标题中使用序数词(例如第一章)

我正在使用书籍类编写文档。正常的章节标题格式如下(对于书中的第一章):

第1章

<第一章名称>

相反,我希望它是:

第一章

<第一章名称>

当然,用“第二章”代替“第 2 章”等等。我没有很多章节,所以如果有一种方法可以手动输入“第一章”部分,那就可以接受。事实上,我认为这是必要的,因为这本书是冰岛语的,我不认为 Babel 会支持这种翻译。所以,为了记录,我真的希望它说的是“Fyrsti kafli”而不是“第 1 章”。

理想情况下,此解决方案还会处理标题中的章节名称,但如果没有,我可以通过使用

\markboth{First chapter. Name of first chapter}{1.1 Name of first subchapter}

答案1

一个选项是使用titlesecfmtcount(轻松获取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} 

结果:

enter image description here

因为,正如埃格尔通知his commentfmtcount不支持冰岛语,可以使用\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} 

结果:

enter image description here

相关内容