将标题放在框内

将标题放在框内

我想将文档的整个页眉放在一个类似于 创建的框内\fbox。我不希望框包含正文或页脚。我该怎么做?

目前我已经实现如下目标:

\fancyhead[L]{
    \fbox{%
        \parbox{0.97\textwidth}{%
            \raisebox{-0.4\height}{%
                \includegraphics[width=3.5cm]{logo.png}
            }
        }
    }
}
\fancyhead[C]{Document title}
\fancyhead[R]{}

但存在一个问题,即框不能跨越整个页面的宽度,否则会溢出。

答案1

我使用您的代码作为起点进行了一些修改。我得到了这个答案,它似乎满足了您的要求。

\documentclass[11pt]{article}

\usepackage[a4paper,margin=20mm]{geometry}

\usepackage{graphicx}

\usepackage[headings]{fancyhdr}

\fancypagestyle{boxedwh}{
    \setlength{\headheight}{36pt}
    \renewcommand{\headrulewidth}{0pt}
    \addtolength{\topmargin}{9pt}
    \fancyhf{}
    \fancyhead[L]{
        \fbox{%
            \parbox{\textwidth}{%
                \raisebox{-0.4\height}{%
                    \includegraphics[width=3.5cm,height=15mm]{logo.png}
                }
            }
        }
    }
    \fancyhead[C]{\raisebox{30pt}{Document title}}
    \fancyhead[R]{\raisebox{30pt}{\thepage}}
}

\usepackage{lipsum}

\begin{document}
    
    \pagestyle{boxedwh}
    
    \lipsum[3][1-3]
        
\end{document}

我修改了以下几点:

  1. 的一部分溢出是由于fancyhdr其本身的头部规则,所以我将其重置为零宽度。
  2. 标题样式需要命名,因此我选择boxedwh
  3. 在标题内使用徽标意味着改变标题的可用空间。因此,我height在 内包含一个随机值\includegraphics,将标题高度设置为 36pt(这似乎足够大),并在 中添加一些空间以top margin降低标题。
  4. 给出了\parbox全文长度。
  5. 由于这会将中央和右侧标题推到下一行,所以我习惯将\raisebox它们放回盒装标题中。

这产生了以下标头:

盒状头

页码旁边仍有轻微溢出。将 的宽度更改parbox为 可0.98\textwidth将页眉与右边距对齐,但页码会直接位于 的右边框'fbox。因此,页码必须打印在页脚中,而右侧页眉则留空。从视觉上看,页眉框与右边距对齐。

相关内容