自定义标题文本和标题规则

自定义标题文本和标题规则

使用mweclass 乳胶类(reportbased)正在编写如下文档:

\documentclass{mweclass}
\title{MWE}
\author{J. Doe}
\begin{document}
  \thispagestyle{mwetest}
  \maketitle
  \pagestyle{mwetest}
  \chapter{One}
  \section{First}
  % LaTeX code ...
\end{document}

在里面标题那里必须成为一个主规则在每一页上高度固定偏移

但是...当上面的文本(章节或部分名称)中有任何gq等字母时,主规则就会被拉远p正确地否则,主规则是“附加“到文本。

我有以下页面样式mweclass.cls代码mwetest

\newcommand{\ps@mwetest}{%
  \setlength\fancy@headwidth       {\mwe@textwidth}%
  \fancy@setoffs%
  \renewcommand\headrulewidth      {\mwe@headrulewidth}%
  \renewcommand\footrulewidth      {0pt}%
  \renewcommand\footruleskip       {0pt}%
  \def\headrule{\hrule\@height\headrulewidth\@width\headwidth\vskip-\headrulewidth}%
  \def\footrule{}%
  \def\f@ncyorh{\rightmark~\ \ \ \ \ ~\thepage}%
  \def\f@ncyelh{\thepage~\ \ \ \ \ ~\leftmark}%
  \def\@oddhead{\@fancyhead\fancy@Oolh\@empty\hfil\f@ncyorh\fancy@Oorh}%
  \def\@evenhead{\@fancyhead\fancy@Oelh\f@ncyelh\hfil\@empty\fancy@Oerh}%
  \def\@oddfoot{}\def\@evenfoot{}%
  \def\chaptermark##1{\markboth{##1\ -- \ \thechapter}{}}%
  \def\sectionmark##1{\markright{\thechapter.\arabic{section}\ --\ ##1}}%
}

部分代码取自分布式fancyhdr.sty版本3.2、行432-435。 这\mwe@文本宽度\mwe@headrulewidth都是OKmweclass之前的课程计算出来的。

问题可能与基线以字母形式。主规则保持连接/拆卸来自章节/部分上面的名称,文本是否包含字体形状延伸到基线以下的字母;或者不包含。

  1. 有没有办法插入无形的文本中是否存在未排版的字母?如果有,一个简单的解决方法是q在章节和节名中放入一个。
  2. 有什么不对吗?除了这个移动的headrule,标题是但是OK

我感谢任何回复或建议。

答案1

您可以输入\strut命令:它插入一块与\height当前\depth字体中最大字母一样大但没有的\width

答案2

\phantom{txt}不可见字符由、\hphantom{txt}或组成\vphantom{txt}。第一个考虑宽度和高度,第二个仅考虑宽度,第三个仅考虑高度。

相关内容