如何使用 fancyhdr 跳过头注之间的足够空间?

如何使用 fancyhdr 跳过头注之间的足够空间?

我尝试了很多提示,但都没有用。你能帮我解决这个问题吗?还有,我如何在每一页的每个标题下添加规则?

我使用下面的序言:

\documentclass[12pt, a4paper, dutch]{article}
    
    \usepackage{graphicx}
    
    \graphicspath{figures}
    
    \usepackage{geometry}
    
    \geometry{
        paper=a4paper, % Change to letterpaper for US letter
        inner=3cm, % Inner margin
        outer=3cm, % Outer margin
        bindingoffset=.5cm, % Binding offset
        top=2cm, % Top margin
        bottom=2cm, % Bottom margin
        % showframe, % Uncomment to show how the type block is set on the page
    }
    
    
    \setlength\parindent{0pt} 
    
    \usepackage{booktabs} 
    
    \usepackage[table]{xcolor}
    
    \usepackage[english]{babel} 
    
    \newcommand{\emptybox}[2][\textwidth]{%
  \begingroup
  \setlength{\fboxsep}{-\fboxrule}%
  \noindent\framebox[#1]{\rule{0pt}{#2}}%
  \endgroup
}
    \usepackage{fancyhdr}
    
    \pagestyle{fancy}
    
    \fancyhf{}
    
    \lhead{\begin{minipage}[c]{1cm}
            %\includegraphics[width=1.5cm]{image1.png}
        \end{minipage}
        \begin{minipage}[l]{5cm}
            \scriptsize
            %{\scriptsize University} \\
            {\scriptsize Abbi Aled Acupuncture}
        \end{minipage}
        }
    
   \rhead{\emptybox[3cm]{3cm}}
    
    
    
    
    \newcommand{\HRule}{\rule{\linewidth}{0.05mm}}
    
    
    
    \begin{document}
    
    \begin{center}
        \textbf{\large Clinical Record \\ Anamnesis in Traditional Chinese Medicine}\\
    \end{center}
    
    
    \begin{tabular}{l|p{0.728\textwidth}} 
        \toprule
         Name &  \\
         \midrule
         Address &  \\
         \midrule
         Telephone &  \\
         \midrule
         Passport Number &  \\
         \midrule
         E-mail &  \\
         \midrule
         Date of birth &  \\
         \midrule
         Age &  \\
         \midrule
         Marital status &  \\
         \midrule
         Sex &  \\
         \midrule
         Ethnicityt &  \\
         \midrule
         Weight &  \\
         \midrule
         Height &  \\
         \midrule
         Profession &  \\
         \midrule
         Religion &  \\
         \midrule
         Forwarded by &  \\
         \bottomrule
    \end{tabular}
    
    
    \pagebreak
    %---------------------------------------------------------------------------------------------
    
    
    
    \end{document}    

但是,我这里有一个问题:

在此处输入图片描述

答案1

正如评论中所说,您应该查看logLaTeX 运行的文件。您将在其中找到类似以下内容的内容:

Package fancyhdr Warning: \headheight is too small (12.0pt): 
(fancyhdr)                Make it at least 89.7083pt, for example:
(fancyhdr)                \setlength{\headheight}{89.7083pt}.
(fancyhdr)                You might also make \topmargin smaller to compensate:

(fancyhdr)                \addtolength{\topmargin}{-77.7083pt}.

此消息说明为页眉提供的空间对于所使用的内容而言不够高。因此必须增加页眉的高度。由于您正在使用包geometry,因此您不应该使用 或 来执行此操作\setlength\addtolength而应该geometry在选项中指定所需的高度。为此,geometry提供了headheight选项(请参阅手册)。在第一步中,我们根据警告为此选项分配一个合适的值:

\documentclass[12pt, a4paper, dutch]{article}
\usepackage{graphicx}
    
\usepackage{geometry}
\geometry{%
  paper=a4paper, % Change to letterpaper for US letter
  inner=3cm, % Inner margin
  outer=3cm, % Outer margin
  bindingoffset=.5cm, % Binding offset
  top=2cm, % Top margin
  headheight=90pt,
  bottom=2cm, % Bottom margin
  % showframe, % Uncomment to show how the type block is set on the page
}
    
\usepackage[english]{babel}% dutch or english???
    
\usepackage{fancyhdr}
\fancyhf{}
\lhead{\begin{minipage}[c]{1cm}
    % \includegraphics[width=1.5cm]{image1.png}
  \end{minipage}
  \begin{minipage}[l]{5cm}
    \scriptsize
    % {\scriptsize University} \\
    {\scriptsize Abbi Aled Acupuncture}
  \end{minipage}
}
\rhead{\includegraphics[width=3cm,height=3cm]{example-image}}
\pagestyle{fancy}
    
\begin{document}
    
\begin{center}
  \large
  \textbf{Clinical Record \\ Anamnesis in Traditional Chinese Medicine}
\end{center}
    
\end{document}    

但正如你在结果中看到的:

第一步不重叠

虽然页眉和页面内容之间的重叠现在已经被删除,但页眉现在超出了纸张的顶部边缘。(顺便说一句:如果您使用警告中的两个命令,几乎会发生相同的情况fancyhdr。)

因此您还需要将标题向下移动。geometry提供了几个选项,例如includehead,,headseptop您已经在使用top,所以我建议也增加top

\documentclass[12pt, a4paper, dutch]{article}
\usepackage{graphicx}
    
\usepackage{geometry}
\geometry{%
  paper=a4paper, % Change to letterpaper for US letter
  inner=3cm, % Inner margin
  outer=3cm, % Outer margin
  bindingoffset=.5cm, % Binding offset
  top=4.5cm, % Top margin
  headheight=90pt,
  bottom=2cm, % Bottom margin
  % showframe, % Uncomment to show how the type block is set on the page
}
    
\usepackage[english]{babel}% dutch or english???
    
\usepackage{fancyhdr}
\fancyhf{}
\lhead{\begin{minipage}[c]{1cm}
    % \includegraphics[width=1.5cm]{image1.png}
  \end{minipage}
  \begin{minipage}[l]{5cm}
    \scriptsize
    % {\scriptsize University} \\
    {\scriptsize Abbi Aled Acupuncture}
  \end{minipage}
}
\rhead{\includegraphics[width=3cm,height=3cm]{example-image}}
\pagestyle{fancy}
    
\begin{document}
    
\begin{center}
  \large
  \textbf{Clinical Record \\ Anamnesis in Traditional Chinese Medicine}
\end{center}
    
\end{document}    

建议的解决方案

(顺便说一句:仅使用警告中的第一个命令就会发生几乎相同的情况fancyhdr。但随后底部边距也会变小。因此,您还需要使用类似的方法\addtolength{\textheight}{-88.7083pt}来减少文本区域的高度,从而保持底部边距。)

请注意:我从您的示例中删除了一些代码,这些代码对于显示问题或我的建议来说不是必需的。我还删除了\parskip0 的设置,因为这不是真正推荐的,并且有更好的解决方案可以不使用段落首行缩进(页面也可在德语)。我还用示例图像替换了框架代码包裹mwe。每个助手都安装了此包,也建议提问者使用,以便轻松替换图像。

相关内容