![自定义标题文本和标题规则](https://linux22.com/image/247411/%E8%87%AA%E5%AE%9A%E4%B9%89%E6%A0%87%E9%A2%98%E6%96%87%E6%9C%AC%E5%92%8C%E6%A0%87%E9%A2%98%E8%A7%84%E5%88%99.png)
使用mweclass
乳胶类(report
based)正在编写如下文档:
\documentclass{mweclass}
\title{MWE}
\author{J. Doe}
\begin{document}
\thispagestyle{mwetest}
\maketitle
\pagestyle{mwetest}
\chapter{One}
\section{First}
% LaTeX code ...
\end{document}
在里面标题那里必须成为一个主规则在每一页上高度固定偏移。
但是...当上面的文本(章节或部分名称)中有任何g
、q
等字母时,主规则就会被拉远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都是OK
由mweclass
之前的课程计算出来的。
问题可能与基线以字母形式。主规则保持连接/拆卸来自章节/部分上面的名称,文本是否包含字体形状延伸到基线以下的字母;或者不包含。
- 有没有办法插入无形的文本中是否存在未排版的字母?如果有,一个简单的解决方法是
q
在章节和节名中放入一个。 - 有什么不对吗?除了这个移动的headrule,标题是但是
OK
。
我感谢任何回复或建议。
答案1
您可以输入\strut
命令:它插入一块与\height
当前\depth
字体中最大字母一样大但没有的\width
。
答案2
\phantom{txt}
不可见字符由、\hphantom{txt}
或组成\vphantom{txt}
。第一个考虑宽度和高度,第二个仅考虑宽度,第三个仅考虑高度。