我有以下代码:
\documentclass{article}
\makeatletter
\renewcommand\ps@headings{
\def\@evenhead{foo bar}
\def\@oddhead{foo bar}
}
\makeatother
\begin{document}
\pagestyle{headings}
\section{Introduction}
foo bar baz
\end{document}
(这只是一个例子。真正的文档要复杂一些……)
我怎样才能在 »foo bar« 标题下方制定规则?
我想要得到这样的东西:
即:一个规则大小\hsize
。我不想使用fancyhdr
。
编辑:更多要求:我需要配置规则粗细以及单词“foo ... bar”与水平规则之间的距离。
答案1
我的\myhrule
标题中的 for 规则与 David 的略有不同。标题文本的位置不取决于文本的深度。当然,我不需要任何额外的包。
\makeatletter
\def\myhrule{\lower1ex\null\vadjust{\hrule}}
\renewcommand\ps@headings{%
\def\@evenhead{foo\hfill bar\myhrule}%
\def\@oddhead{foo\hfill bar\myhrule}%
}
\makeatother
答案2
您只需要在它们下面划线即可。
\documentclass{article}
\usepackage[normalem]{ulem}
\makeatletter
\renewcommand\ps@headings{
\def\@evenhead{\uline{foo bar}}
\def\@oddhead{\uline{foo bar}}
}
\makeatother
\begin{document}
\pagestyle{headings}
\section{Introduction}
foo bar baz
\clearpage
\section{Introduction}
foo bar baz
\end{document}
您可以通过以下方式更改规则的厚度和深度
\setlength{\ULdepth}{2ex}
\renewcommand{\ULthickness}{2pt}
相同soul
:
\usepackage{soul}
\makeatletter
\renewcommand\ps@headings{%
\def\@evenhead{\ul{foo bar}}%
\def\@oddhead{\ul{foo bar}}%
}
\makeatother
深度和厚度可以通过
\setul{2ex}{2pt}
抱歉,盒子坏了。我不负责 :-)
答案3
您只需在包含标题的框后添加一条规则即可:
\documentclass{article}
\makeatletter
\def\myhrule{\vskip1ex\hrule height 5pt}
\renewcommand\ps@headings{%
\def\@evenhead{foo\hfill bar\aftergroup\myhrule}%
\def\@oddhead{foo\hfill bar\aftergroup\myhrule}%
}
\makeatother
\begin{document}
\pagestyle{headings}
\section{Introduction}
foo bar baz
\end{document}
或者如果你已经color
加载
\documentclass{article}
\usepackage{color}
\makeatletter
\def\myhrule{\vskip1ex\hrule height 5pt}
\renewcommand\ps@headings{%
\def\@evenhead{foo\hfill bar\aftergroup\aftergroup\aftergroup
\aftergroup\aftergroup\aftergroup\aftergroup\myhrule}
\def\@oddhead{foo\hfill bar\aftergroup\aftergroup\aftergroup
\aftergroup\aftergroup\aftergroup\aftergroup\myhrule}
}
\makeatother
\begin{document}
\pagestyle{headings}
\section{Introduction}
foo bar baz
\end{document}