我正在使用 Rmarkdown 和 xelatex 制作横向 pdf 文档。
对于我的 YAML 标头,我使用
output:
pdf_document:
latex_engine: xelatex
keep_tex: true
includes:
in_header: 'preamble.tex'
classoption: landscape
并在我的 preamble.tex 中
% Create custom blue coloring function
\usepackage{color}
\definecolor{headerblue}{HTML}{236593}
\usepackage{fancyhdr}
\pagestyle{fancy}
% vertical margins
\setlength{\topmargin}{-1in}
\setlength{\headheight}{60.0pt} %set height of box that contains header
\setlength{\headsep}{5pt}
% horizontal margins
\setlength{\oddsidemargin}{-0.5in}
\setlength{\evensidemargin}{\oddsidemargin}
% Left header with Community Profile info created within .Rmd file
\lhead{}
\rhead{\textbf{Protected A} \raisebox{-.4\height} % Create right header with raised text
{\includegraphics[width = 5cm]{./image/HSIAR-Logo-blue_small.png}}} % and HSIAR logo
\renewcommand{\headrulewidth}{0pt} % remove rule below header
对于 .Rmd 中的 \lhead
`{=latex}
\lhead{
\fontsize{18pt}{18pt}\selectfont \textbf{\textcolor{headerblue}{`r header_name`}}}
我有两个问题不知道如何解决。
首先,在我调整完所有边距后,右侧会出现一个较大的间隙,文本和标题无法进入该间隙。似乎没有针对此问题的边距调整选项,我只能手动尝试将 /textwidth 调整到正确大小吗?或者有更好的方法吗?
最后,对于 /rhead,raisebox 可以很好地提升文本。但是我只希望它位于右侧。它还会提升我的 lhead 的文本。我以为在序言中放置一个空的 /lhead{} 可能会有所帮助,但没有成功。
任何建议或指导都将非常有用。
答案1
rmarkdown 和 LaTeX 中没有可用图像,并且与屏幕截图不对应,这不是重现问题的最佳示例,打赌你显然是在试图通过困难的方式设置边距。正如评论中所建议的,使用geometry
选项showframe
来查看你真正拥有边距的位置:
---
output:
pdf_document:
latex_engine: xelatex
classoption: landscape, showframe
geometry: [tmargin=2cm,bmargin=2.5cm,rmargin=1cm,lmargin=1.2cm]
header-includes:
- \usepackage{fancyhdr}
- \pagestyle{fancy}
- \lhead{}
- \rhead{\textbf{Protected A} \raisebox{-.4\height}{ \includegraphics[height = 1cm]{example-image}}}
- \renewcommand{\headrulewidth}{0pt} % remove rule below header
---
Foo \newpage bar \newpage baz