我想要漂亮的页脚。我试图通过重新定义命令来实现这一点\ps@plain
,该命令重新定义\@oddfoot
和\@evenfoot
。
我遇到的问题是变量\title
没有呈现文件\@title
中设置的值:doc.tex
风格.sty:
\def\ps@plain{
\renewcommand{\@oddhead}{}%
\renewcommand{\@evenhead}{}%
\renewcommand{\@evenfoot}{\title\@title} % Footer is empty
\renewcommand{\@oddfoot}{\@evenfoot}%
}
文档.tex:
...
\title{My document}
\begin{document}
我尝试\title
在我的中定义为全局变量style.sty
,但没有任何运气:
\global\let\@title\@empty
\global\let\title\relax
我是 LaTeX 新手,不太了解变量范围如何工作。任何提示都非常感谢。
答案1
容器被使用后\@title
会被类丢弃。您可以操之过急,重新定义页脚为可选参数:article
\maketitle
\title
\documentclass{article}
\usepackage{lipsum} % just for the example
\makeatletter
\def\title{\@dblarg\niekas@title}
\def\niekas@title[#1]#2{%
\gdef\@title{#2}% for \maketitle
\gdef\niekas@keep@title{#1}% for the footer
}
\def\ps@plain{%
\let\@mkboth\@gobbletwo
\renewcommand{\@oddhead}{}%
\renewcommand{\@evenhead}{}%
\renewcommand{\@evenfoot}{\reset@font\small\niekas@keep@title\hfil\thepage}%
\renewcommand{\@oddfoot}{\@evenfoot}%
}
\pagestyle{plain} % apply the changes
\makeatother
\begin{document}
\author{Niekas}
\title[A short version]
{A very long and boring title telling what
should be in the paper instead of clobbering
the title}
\maketitle
\lipsum[1-12]
\end{document}
当然你仍然可以说
\title{A title that is good in the footer}
并且不指定可选参数。