\fancyhead 上的图片会显示不合适

\fancyhead 上的图片会显示不合适

我正在翻译一本巴洛克风格的书籍,里面有各种各样的装饰,其中一些附加在页眉上。

标题上的原始装饰

我已经将它们栅格化,创建了.png文件并尝试将它们包含在\fancyheadfancyhdr 包的命令中,如下所示:

\fancyhead[CO, CE]{%
\includegraphics[scale=1]{Ornament2.jpg}% Ornament to the left %
({\hspace{.1cm}}\thepage{\hspace{.1cm}})% Page numbering within parenthesis %
\includegraphics[scale=1]{Ornament2.jpg}% Ornament to the right %
}

但它们会显示到离原位很远的地方。不仅如此,标题本身也完全变形了。我尝试了以下解决方案:

  • \parbox包装图片;
  • figure周围环境\includegraphics
  • 将其转换.png.pdf并包括它;
  • 改用\chead[]{}
  • 改变\headheight参数以及包geometry
  • 使用\protect之前\includegraphics

但所有这些都无济于事,每个都会产生自己的异常。

如果有人有任何其他建议,我将不胜感激。

观察:也许可以将它们作为背景图像来介绍,但事实上它们每章都会改变,这让人相信并非如此。

观察2:也许可以将装饰品转换成某种新的字体并用来\fontspec放置它们?

观察3:我正在使用这个book课程。

答案1

如果没有您的图片,这是我最好的猜测。一般来说,\usebox比 更快\includegraphics(无需文件 I/O 或转换)。\raisebox补偿图像和文本之间的基线差异。使用\makebox将使宽度在页码变化时保持不变。

\documentclass{book} 
\usepackage{graphicx} %vectorgraphics 
\usepackage{fancyhdr}
%\fancyhead[C]{% simple but slow
%\includegraphics[height=\headheight]{example-image-a}% Ornament to the left %
%\raisebox{\dp\strutbox}{(\hspace{.1cm}\thepage\hspace{.1cm})}% Page numbering within parenthesis %
%\includegraphics[height=\headheight]{example-image-b}% Ornament to the right %
%}
\newsavebox{\lefthdr}
\newsavebox{\righthdr}
\savebox{\lefthdr}{\raisebox{-\dp\strutbox}{\includegraphics[height=\headheight]{example-image-a}}(}
\savebox{\righthdr}{)\raisebox{-\dp\strutbox}{\includegraphics[height=\headheight]{example-image-b}}}
\fancyhead[C]{\usebox\lefthdr\makebox[1.3em]{\thepage}\usebox\righthdr}
\pagestyle{fancy}
\usepackage{lipsum}
\begin{document}
\lipsum[1-10]
\end{document}

相关内容