使用 fancyhdr 中的两种不同布局显示标题中的未编号部分

使用 fancyhdr 中的两种不同布局显示标题中的未编号部分

我使用两种页眉布局 - 第一个用于介绍,第二个用于字典。我想将未编号的章节标题与页码一起设置为第一个页眉中的页眉。最小示例如下:

\documentclass[twocolumn]{book}
\usepackage[top=2cm, bottom=2cm, left=2cm, right=2cm]{geometry}
\usepackage{fancyhdr}
\usepackage[icelandic, czech, english]{babel}
\usepackage[utf8x, utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{blindtext}
\usepackage{hanging}
\usepackage{tipa}
\newcommand{\entry}[2]{\hangpara{2em}{1}\textsf{\textbf{#1}}\ #2\markboth{#1}{#1}\par}\nopagebreak[4]
\newcommand*{\dictchar}[1]{\centerline{\LARGE\textbf{#1}}\par}
\fancypagestyle{basicstyle}{%
\fancyhf{}
\renewcommand{\headrulewidth}{0.4pt}
\renewcommand{\footrulewidth}{0pt}}
\fancypagestyle{dictstyle}{%
\fancyhf{}
\fancyhead[LE,RO]{\textsf{\textbf{\rightmark\ -- \leftmark}}}
\fancyhead[LO,RE]{\textsf{\textbf{\thepage}}}}
\begin{document}

\pagestyle{basicstyle}
\chapter*{1. Průvodce po slovníku}
\clearpage
\section*{1. Heslové slovo}
\subsection*{1.1 Řazení slov }
\blindtext

\pagestyle{dictstyle}
\chapter*{3. Islandsko-český studijní slovník}
\clearpage
\entry{{a.n.}}{{\small{ zkr}}{\textsl{\textbf{að eðan}}}\foreignlanguage{czech}{{ pod, dole}}}
\entry{{afl··vak|i}}{{\textipa{[{a}{\textsubring{b}}{\textsubring{l}}{v}{a}{\r{\textObardotlessj}}{\textsci}]}}{\small{ m}}{\small{ (-a, -ar)}}\foreignlanguage{czech}{{ hnací síla, motiv}}}
\entry{{af··|segja}}{{\textipa{[{a}{f}{s}{ei}{j}{a}]}}{\small{ v}}{\small{ (-sagði, -sagt)}}{\small{ acc}}{\textit{ (neita)}}\foreignlanguage{czech}{{ odmítnout}}}
\end{document}

我如何更改基本样式以使其显示带有页码的未编号部分?

答案1

这个手动编号看起来有点奇怪:

\chapter*{1. Průvodce po slovníku}
\section*{1. Heslové slovo}
\subsection*{1.1 Řazení slov}

你排版了一本书、一本词典,里面可能包含很多章节和小节。如果你插入或删除一个章节或小节,你就必须手动修改后面的所有数字。而且,这很容易导致编号错误。LaTeX 可以自动帮你完成。只需使用未加星号的命令,让 LaTeX 进行编号即可。

\chapter{Průvodce po slovníku}
\section{Heslové slovo}
\subsection{Řazení slov}

这也解决了标题标记的问题:\chapter和分别通过或\section自动生成标题条目,而带星号的版本则不会。但是,如果您坚持使用带星号的版本,您可以自己调用或。\markboth\markright\markboth\markright

此外,如果basicstyle页面应该显示章节和页码,请在、和内使用包含标题值的\fancyhead命令。\fancypagestyle{basicstyle}{...}\rightmark\leftmark

正如评论中所讨论的,这里有一个带有您自己的标题标记的完整示例。

\documentclass{book}
\usepackage{fancyhdr}
\fancypagestyle{basicstyle}{%
  \fancyhf{}
  \fancyfoot[C]{\thepage}
  \renewcommand{\headrulewidth}{0.4pt}
  \renewcommand{\footrulewidth}{0pt}
  \fancyhead[LE,RO]{\textsf{\textbf{\chaptitle\ -- \sectitle}}}
  \fancyhead[LO,RE]{\textsf{\textbf{\thepage}}}}
\pagestyle{basicstyle}
\newcommand*{\sectitle}{}
\renewcommand*{\sectionmark}[1]{%
    \renewcommand*{\sectitle}{#1}}
\newcommand*{\chaptitle}{}
\renewcommand*{\chaptermark}[1]{%
    \renewcommand*{\chaptitle}{#1}}
\begin{document}
\chapter{Průvodce po slovníku}
\clearpage
\section{Heslové slovo}
\subsection{Řazení slov }
text
\end{document}

相关内容