我尝试使用 fancyhdr 好几个小时,最后放弃了,转而使用 titleps 来创建从奇数页到偶数页的页眉和页脚。这对我来说容易得多,但一旦我创建并使用自定义页面样式,LaTex 就无法识别大多数最基本的命令,例如\clearpage
或甚至\end{document}
(当它不是致命错误时)。
我尝试在两个不同的系统上使用两个不同的 Tex 编辑器运行以下 MWE,但没有成功,而且谷歌搜索也无法帮助我。
\documentclass[12pt,twoside]{article}
\usepackage{titleps}
\usepackage{lipsum}
\newpagestyle{main}{
\setheadrule{1pt}
\setfootrule{1pt}
\sethead[\nouppercase \subsectiontitle][][\sectiontitle]
}
\pagestyle{main}
\begin{document}
\section{Section1}
\subsection{Subsection 1}
\lipsum[1-3]
\clearpage
\subsection{Subsection 2}
\end{document}
删除\pagestyle{main}
解决了问题,但没有标题。
有什么想法吗?非常感谢所有建议!:)
答案1
您的语法错误。您应该使用大括号而不是方括号\sethead
。 \nouppercase 未使用 titleps 定义:
\documentclass[12pt,twoside]{article}
\usepackage{titleps}
\usepackage{lipsum}
\newpagestyle{main}{%
\setheadrule{1pt}%
\setfootrule{1pt}%
\sethead{\subsectiontitle}{}{\sectiontitle}%
}
\pagestyle{main}
\begin{document}
\section{Section1}
\subsection{Subsection 1}
\lipsum[1-3]
\clearpage
\subsection{Subsection 2}
\end{document}
答案2
命令\sethead
需要六如果您想要不同的奇数和偶数标题,则在与双面文档一起使用时需要参数,但您只给了它 3 个(偶数侧的标题),因此您也需要为奇数侧标题提供值。
(因为我不知道\nouppercase
应该做什么,所以我将其从示例中删除了。)
\documentclass[12pt,twoside]{article}
\usepackage[outermarks]{titleps}
\usepackage{lipsum}
\newpagestyle{main}{
\setheadrule{1pt}
\setfootrule{1pt}
\sethead[ \subsectiontitle][][\sectiontitle] % sets even header
{}{}{} % sets odd header (put in whatever you want)
}
\pagestyle{main}
\begin{document}
\section{Section1}
\subsection{Subsection 1}
\lipsum[1-3]
\clearpage
\subsection{Subsection 2}
\end{document}
如果希望奇数页和偶数页使用相同的页眉,则只需使用带有(不是)\sethead
参数的 3 个参数版本。{ }
[ ]
\sethead{\subsectiontitle}{}{\sectiontitle}
为了在第一页也获得子章节标记,请使用以下选项加载包outermarks
:
\usepackage[outermarks]{titleps}