我尝试使用 自定义我的标题\begin{center} ... \end{center}
,但是这导致标题标尺跳过一行并最终停留在文本中。
我怎样才能让它停留在标题的正下方?
\begin{center} ... \end{center}
如果从下面最小示例中的命令中删除\makeoddhead
,您可以看到标题标尺应该位于何处。
\documentclass[12pt,a4paper,onecolumn,oneside,final]{memoir}
\usepackage[english]{babel}
\usepackage{lmodern}
\usepackage[T1]{fontenc}
\usepackage{newcent}
\usepackage[utf8x]{inputenc}
\usepackage[marginparwidth=3cm,textwidth=15cm,textheight=23cm,footskip=2cm]{geometry}
\usepackage{etoolbox}
\usepackage{lipsum}
\setheadfoot{1cm}{1.5cm}
\makepagestyle{HDR}
\makepsmarks{HDR}{\nouppercaseheads
\createmark{chapter}{left}{nonumber}{}{\space}
\createmark{section}{right}{nonumber}{}{\space}
}
\makeoddhead{HDR}{\begin{center}\small\normalfont\mdseries\textsc{\leftmark}\hskip.3cm\vrule\hskip.3cm\bfseries\rightmark\end{center}}{}{}
\makeheadrule{HDR}{\textwidth}{\normalrulethickness}
\begin{document}
\clearpage
\pagestyle{HDR}
\OnehalfSpacing
\chapter{Chapter title}
\lipsum
\section{Section Title}
\lipsum
\end{document}
答案1
问题在于center
环境会在自身周围添加空格,这在标题中是不需要的。您可以在以下位置查看更多详细信息:何时应使用 \begin{center} 而不是 \centering?
从中texdoc memoir
,我们可以查找该\makeoddhead
命令的文档,其中说明如下:
\makeoddhead{ <style> }{ <left> }{ <center> }{ <right> }
因此,对于居中的标题内容,使用第三个参数而不是第二个参数:
\makeoddhead{HDR}{}{\small\normalfont\mdseries\textsc{\leftmark}\hskip.3cm\vrule\hskip.3cm\bfseries\rightmark}{}