![如何在类中使用 \title 变量?](https://linux22.com/image/420406/%E5%A6%82%E4%BD%95%E5%9C%A8%E7%B1%BB%E4%B8%AD%E4%BD%BF%E7%94%A8%20%5Ctitle%20%E5%8F%98%E9%87%8F%EF%BC%9F.png)
我尝试自己定义一个类,并想将标题放在页面的顶部中心,但是当我像这样使用它时
\chead{\textcolor{blue}{\textbf{ {\fontfamily{phv} \selectfont \@title}}}}
它没有将标题打印到其位置。
我\maketitle
在文档中使用命令。我读到它锁定了变量。那么我该如何创建我的类,以便它将标题作为变量打印到页面的顶部中心?
编辑:将文档类别从文章更改为报告并解决问题。
答案1
正如 @Skillmon 所说,当您使用 时\maketitle
,\global\let\@title\@empty
就会执行。因此您可以使用etoolbox
包,
\patchcmd\maketitle{\global\let\@title\@empty}{}{}{}
梅威瑟:
\documentclass{article}
\usepackage{etoolbox}
\usepackage{fancyhdr,xcolor,lipsum}
\title{Title}
\author{Name}
\makeatletter
\patchcmd\maketitle{\global\let\@title\@empty}{}{}{}
\chead{\textcolor{blue}{\ttfamily\@title}}
\makeatother
\pagestyle{fancy}
\begin{document}
\maketitle
\lipsum
\end{document}
答案2
将文档类别从文章改为报告,问题已解决。如果有文章类别的解决方案,欢迎提出。