如何在 fancyhead 中设置图像顶部填充?

如何在 fancyhead 中设置图像顶部填充?

我正在使用fancyhdr,带有像下面这样的简单标志。

在此处输入图片描述

使用如下的 MWE:

\documentclass[12pt]{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}

% set the font of the document
\usepackage{fontspec}
\setmainfont{Arial}

\usepackage[letterpaper, left=19mm, right=19mm, top=2.54cm, bottom=2.54cm, headheight=43.6pt]{geometry}
\usepackage{titling}

\usepackage{setspace}
\setstretch{1.15}

\usepackage{xcolor}
\definecolor{my-orange}{RGB}{238,113,43}

\usepackage{graphicx}
\usepackage{tabu}

\usepackage{fancyhdr}

\fancypagestyle{my-style}{
    \fancyhf{} %Clear Everything.
    \renewcommand{\headrulewidth}{0.75pt} 
    \renewcommand{\footrulewidth}{0.75pt} 
    \fancyhead[R]{\includegraphics[width=5.15cm]{test_logo.png}}     
    \renewcommand{\headrule}{\hbox to\headwidth{%
    \color{my-orange}\leaders\hrule height \headrulewidth\hfill}}
    \renewcommand{\footrule}{\hbox to\headwidth{%
    \color{my-orange}\leaders\hrule height \headrulewidth\hfill}}  
    \fancyfoot[C]{} 
    \fancyfoot[R]{Page | \thepage}
}

\pagestyle{my-style}

\usepackage{microtype}
\usepackage{lipsum}

\begin{document}

\lipsum[1-10]

\end{document}

使用 XeLaTeX 进行编译。

我的问题是页眉中的徽标太靠近页面顶部,如下所示:

在此处输入图片描述

我想添加填充以使徽标在标题内垂直居中,这是否可以轻松完成?此外,如果我想人为地增加标题的长度,我该怎么做?我尝试更改headheightgeometry但似乎没有用。

答案1

您可以使用\raisebox将图像垂直移动到所需位置;根据您的需要调整设置:

在此处输入图片描述

代码:

\documentclass[12pt]{article}

% set the font of the document
\usepackage{fontspec}
\setmainfont{Arial}

\usepackage[letterpaper, left=19mm, right=19mm, top=2.54cm, bottom=2.54cm,headheight=34pt,headsep=15pt,showframe]{geometry}
\usepackage{titling}

\usepackage{setspace}
\setstretch{1.15}

\usepackage{xcolor}
\definecolor{my-orange}{RGB}{238,113,43}

\usepackage{graphicx}
\usepackage{tabu}

\usepackage{fancyhdr}

\fancypagestyle{my-style}{
    \fancyhf{} %Clear Everything.
    \renewcommand{\headrulewidth}{0.75pt} 
    \renewcommand{\footrulewidth}{0.75pt} 
    \fancyhead[R]{\raisebox{-0.35\height}[0pt][0pt]{\includegraphics[width=5.15cm]{test_logo.png}}}     
    \renewcommand{\headrule}{\hbox to\headwidth{%
    \color{my-orange}\leaders\hrule height \headrulewidth\hfill}}
    \renewcommand{\footrule}{\hbox to\headwidth{%
    \color{my-orange}\leaders\hrule height \headrulewidth\hfill}}  
    \fancyfoot[C]{} 
    \fancyfoot[R]{Page | \thepage}
}

\pagestyle{my-style}

\usepackage{microtype}
\usepackage{lipsum}

\begin{document}

\lipsum[1-10]

\end{document}

评论

  • 我将 headheight 改为29pt(您的值对于当前内容来说太大)。

  • 要更改页眉/页脚或两者的宽度,可以使用以下命令

    \fancyheadoffset
    \fancyfootoffset
    \fancyhfoffset
    

    请参阅包文档来查看语法和使用示例。

  • 我添加了该showframe选项geometry,以便您可以获得页面布局的直观指南。

  • headsep使用几何选项更改文本和标题之间的垂直间距。

  • 不要将inputencnorfontenc与 一起使用fontspec

解释一下\raisebox

\raisebox{<length>}{<content>}

将垂直移动(向上为正长度,向下为负长度)<contents>

扩展语法

\raisebox{<length1>}[<length2>][<length3>]{<content>}

允许欺骗 LaTeX 认为要移动的对象具有height=<length2> 和。在我的示例代码中,LaTeX 认为正在移动具有高度和深度的depth=<length3>盒子。0pt

相关内容