fancyhdr 中的右对齐不起作用

fancyhdr 中的右对齐不起作用

我正在为一些文档编写类模板,并希望它们\rhead{...}右对齐(通常如此)。

但是,按照我目前的设置,标题不在最右边;它类似于这个问题,但我在初始化页眉之前已经设置了页面几何形状。

\ProvidesClass{docu}[2020 v1.0 Documentation]
\LoadClass[11pt,a4paper,oneside,ngerman]{article}

\usepackage[showframe]{geometry}
\usepackage[utf8]{inputenc}
\usepackage{natbib}
\usepackage{graphicx}
\usepackage{fontspec}
\usepackage{fancyhdr}
\usepackage{lastpage}
\usepackage{afterpage}
\usepackage{tikz}
\usepackage[dvipsnames]{xcolor}
\usepackage{tocloft}
\bibliographystyle{unsrtnat}

\geometry{ a4paper
         , portrait
         , top    = 4cm
         , bottom = 3.5cm
         , left   = 6cm
         , right  = 3cm }


\defaultfontfeatures{Mapping=tex-text,Scale=MatchLowercase}
\setmainfont{Georgia}

\definecolor{maroon}{RGB}{116,25,16}
\newcommand{\titleBar}[1]{
    \tikzstyle{line} = [draw,thick, draw=maroon]
        \begin{tikzpicture}
            \path [line] (-2,0) -- (-2,0.5);
            \path [line] (-2,0.5) -- ({#1},0.5);
        \end{tikzpicture}
}

\newcommand{\abteilung}[1]{\def\@abteilung{#1}}
\abteilung{Abteilung}
\def\@abteilung{\@abteilung}

\newcommand{\version}[1]{\def\@version{#1}}
\version{DRAFT}
\def\@version{\@version}

\title{Hello, World!}
\author{Kurzzeichen}
\date{\today}

\pagestyle{fancy}
\fancyhf{}

\renewcommand{\headrulewidth}{0pt}


\makeatletter
\renewcommand{\maketitle}{
    \rhead{}
    {\noindent\@abteilung}\\[4\baselineskip]

    \null\hspace{-1cm}\noindent{\titleBar{12cm}}
    {\huge\textbf{\textit{{\@title}}}}\\
    {\huge{Documentation}}\\[4\baselineskip]
    {\@date}\\[2\baselineskip]
    {\@version}
    \lfoot{\hspace{-3cm}\includegraphics[scale=0.25]{logo.jpg}}

    \newgeometry{ a4paper
                 , portrait
                 , top    = 3cm
                 , bottom = 3.5cm
                 , left   = 3cm
                 , right  = 3cm }

    \newpage

    \tableofcontents
    \newpage

    \pagestyle{fancy}
    \fancyhf{}

    \renewcommand\headrule{
        \begin{minipage}{1\textwidth}
        \hspace{-0.51cm}\tikzstyle{line} = [draw,thick, draw=maroon]
        \begin{tikzpicture}
            \path [line] (-0.06,0.5) -- (-15.5,0.5);
            \path [line] (-15.5,0.5) -- (-15.5,0);
        \end{tikzpicture}
        % \hrule width \hsize \kern 1mm \hrule width \hsize height 2pt 
    \end{minipage}}%

    \fancyhead[R]{hi\\test}

    \lfoot{\@title\\Company}
    \rfoot{\@date\\\thepage}

}
\makeatother

我已经启用框架来查找问题,但直到现在仍无法找到它:尽管我在初始化新几何图形后创建了 fancyhdr,但右页眉和页脚并未与文本本身对齐。

看起来像什么

这是由于某种软件包冲突造成的吗?我该如何修复它?

我的main.tex:

\documentclass{docu}
\usepackage{lipsum}

\begin{document}
\title{My Program Name}
\author{SCFA}
\date{31.01.2020}
\abteilung{Abteilung}
\version{Final Version}

\maketitle

\section{test section}
\lipsum[1-1]
\subsection{test subsection}
\lipsum\footnote{This is a test footnote}

\medskip

\end{document}

答案1

您没有在初始化标题之前设置几何图形。您有

\pagestyle{fancy}
\fancyhf{}

代码中的位置。

您可以通过调用以下命令在 \newgeometry 之后重置头部宽度:

    \newgeometry{ %a4paper    %unused anyway
                  %, portrait %unused anyway
                 , top    = 3cm
                 , bottom = 3.5cm
                 , left   = 3cm
                 , right  = 3cm }
    \f@nch@setoffs

相关内容