如何在 fancyhdr 标题中显示文章标题

如何在 fancyhdr 标题中显示文章标题

我正在为我的公司做文档,即编写无数使用文件中相同引用序言的文档。

序言有 500 余行,因此我不想在这里发布。

我唯一的问题是,当在文档中定义文档标题,并在另一个文件中为其自身定义序言时,如何在页眉中显示标题?不是任何部分,而是标题本身。


扩展@Gunter 的答案:

一些 MWE:

\documentclass[11pt,norsk, fleqn, leqno]{extarticle}
\usepackage[a4paper, left=0.6in,right=0.6in,top=0.6in,bottom=0.9in,includeheadfoot]{geometry}
\usepackage{fancyhdr}

\makeatletter
\edef\mytitle{\@title}
\makeatother

\lhead{picture}
\chead{\mytitle}
\rhead{\parbox[t]{2cm}{\hfill Side \thepage}}

\begin{document}
\textbf{\title{\LARGE A title of something}}
\maketitle

Test text.

\end{document}

运行此代码时,我遇到了与我的其他带有长序言的文档相同的错误。即:

Undefined control sequence. [\edef\mytitle{\@title]

答案1

按照这里的解决方案:在自定义标题页上使用 \title、\author 和 \date 的值,以下应该可以工作。

编辑:\title-命令不打印标题。它只是定义它。事实上,在将其保存在\mytitle-宏中之前,需要对其进行定义。该命令\maketitle负责设置标题页。我不得不\LARGE从您的标题中删除该部分,因为这会导致错误。但我认为这是一个关于如何在标题页上调整标题大小的单独主题。

编辑2:实际上,通过第二个\title命令引用,\mytitle您可以调整标题的大小或字体样式,而无需输入两次实际标题。

\documentclass[11pt,norsk, fleqn, leqno]{extarticle}
\usepackage[a4paper, left=0.6in,right=0.6in,top=0.6in,bottom=0.9in,includeheadfoot]{geometry}
\usepackage{fancyhdr}

\title{A title of something}
\author{N.N.}

\makeatletter
\edef\mytitle{\@title}
\makeatother

\lhead{picture}
\chead{\mytitle}
\rhead{\parbox[t]{2cm}{\hfill Side \thepage}}

\begin{document}
    \pagestyle{fancy}
    
    \title{\LARGE{\textbf{\mytitle}}}

    \maketitle
    
    \clearpage
    
    Test text.
    
\end{document}

答案2

这有效:

\documentclass[11pt,norsk, fleqn, leqno]{extarticle}
\usepackage[a4paper, left=0.6in,right=0.6in,top=0.6in,bottom=0.9in,includeheadfoot]{geometry}
\usepackage{fancyhdr}%
\title{A title of something}%
\author{N.N.}%
\makeatletter
\edef\mytitle{\@title}%
\makeatother

\lhead{picture}%
\chead{\mytitle}%
\rhead{\parbox[t]{2cm}{\hfill Side \thepage}}%
\pagestyle{fancy}
\begin{document}

{\title{\LARGE\textbf{A title of something}}}
\maketitle

Test text.
\clearpage
test text
\end{document}

无论如何,您都需要在 \mytitle 的 \edef 之前添加任何标题。当您编译它时,它会适应后面的描述。

相关内容