有很多问题需要处理fancyhdr
,但没有一个对我有用……
我有article
一个文档标题,标题中只显示部分名称,不显示子部分,不显示部分编号,只显示名称。为此,我创建了一个自定义页面样式(我的文档中有不同的页面样式),请参阅下面的 MWE。但无论我尝试什么,标题中仍然显示子部分,甚至包括其编号。为什么?
\documentclass{article}
\newcommand{\maintitle}{MAIN TITLE}
\newcommand{\docname}{My Document}
% tabular package
\usepackage{tabularx}
% header / footer
\usepackage{fancyhdr}
\renewcommand{\sectionmark}[1]{\markright{#1}}
% define own pagestyle
\fancypagestyle{complete}{%
\fancyhf{}%
\lfoot{%
\begin{tabularx}{\textwidth}{X X}
\maintitle & Page~\thepage
\end{tabularx}
}
\rhead{\docname~-~\rightmark}
}
% Let the madness begin...
\begin{document}
\pagestyle{complete}
\section{First Section}
Blablubb ...
\newpage
\subsection{First Subsection}
dumdidum ...
\section{Second Section}
Blablablubb ...
\subsection{Second Subsection}
dumdidumdidum ...
\end{document}
答案1
\subsection
默认情况下也会设置右标记。如果子部分永远不应该出现在页眉中,您可以重新定义\subsectionmark
为不执行任何操作:
\renewcommand\subsectionmark[1]{}
例子:
\documentclass{article}
\newcommand{\maintitle}{MAIN TITLE}
\newcommand{\docname}{My Document}
% tabular package
\usepackage{tabularx}
% header / footer
\usepackage{fancyhdr}
\renewcommand{\sectionmark}[1]{\markright{#1}}
\renewcommand{\subsectionmark}[1]{}% <- added
% define own pagestyle
\fancypagestyle{complete}{%
\fancyhf{}%
\fancyfoot[L]{%
\begin{tabularx}{\textwidth}{X X}
\maintitle & Page~\thepage
\end{tabularx}
}
\fancyhead[R]{\docname~-~\rightmark}
}
% Let the madness begin...
\begin{document}
\pagestyle{complete}
\section{First Section}
Blablubb ...
\newpage
\subsection{First Subsection}
dumdidum ...
\section{Second Section}
Blablablubb ...
\subsection{Second Subsection}
dumdidumdidum ...
\end{document}
或者您可以使用左边的标记作为章节标题:
\renewcommand{\sectionmark}[1]{\markboth{#1}{}}% <- changed
\fancypagestyle{complete}{%
...
\fancyhead[R]{\docname~-~\leftmark}% <- changed
}
例子:
\documentclass{article}
\newcommand{\maintitle}{MAIN TITLE}
\newcommand{\docname}{My Document}
% tabular package
\usepackage{tabularx}
% header / footer
\usepackage{fancyhdr}
\renewcommand{\sectionmark}[1]{\markboth{#1}{}}
% define own pagestyle
\fancypagestyle{complete}{%
\fancyhf{}%
\fancyfoot[L]{%
\begin{tabularx}{\textwidth}{X X}
\maintitle & Page~\thepage
\end{tabularx}
}
\fancyhead[R]{\docname~-~\leftmark}
}
% Let the madness begin...
\begin{document}
\pagestyle{complete}
\section{First Section}
Blablubb ...
\newpage
\subsection{First Subsection}
dumdidum ...
\section{Second Section}
Blablablubb ...
\subsection{Second Subsection}
dumdidumdidum ...
\end{document}