R 降价:Latex 的问题 headers

R markdown: problems with Latex headers

当我使用自定义 .sty 文件和 fancyhdr 包设置 header 时,header 文本会自动格式化并且文本取自第一个 header 定义在 .Rmd 文件中,我无法覆盖此行为。例如,我有以下 R markdown 文件

---
output:
  pdf_document:
    includes:
      in_header: report.sty
    keep_tex: yes
geometry: tmargin=2cm, bmargin=2.5cm
classoption: a4paper
---

\pagenumbering{gobble}

# Behavioural profile of your dog

blah... blah...

```{r echo}

  # Some R code here...

```

这是 .sty 文件:

%
% This file must be saved with UTF-8 encoding, otherwise pandoc will complain
% for instance about nordic characters.
%

\usepackage{palatino}
\renewcommand{\familydefault}{\sfdefault} % sans serif
\fontfamily{ppl}\selectfont
\usepackage{blindtext}
\usepackage{eso-pic, rotating, graphicx, calc}
\usepackage[nomessages]{fp}

% Code to add a vertical gray band in the inner margin :
\usepackage{eso-pic}
\definecolor{colorMarge}{RGB}{242,242,245}
\newlength{\distance}
\setlength{\distance}{0.0in} % 0.5in
\newlength{\rulethickness}
\setlength{\rulethickness}{0.3in} % 1pt
\newlength{\ruleheight}
\setlength{\ruleheight}{11in} % Longueur de la ligne
\newlength{\xoffset}
\newlength{\yoffset}
\setlength{\yoffset}{0.5\dimexpr\paperheight-\ruleheight}

\AddToShipoutPicture{%
        \ifodd\value{page}%
                \setlength{\xoffset}{\distance}%
        \else
                \setlength{\xoffset}{\dimexpr\paperwidth-\rulethickness-\distance}%
        \fi
        \AtPageLowerLeft{\put(\LenToUnit{\xoffset},\LenToUnit{\yoffset}){\color{colorMarge}\rule{\rulethickness}{\ruleheight}}}%
}

\newcommand{\sidewaysText}{R Development Core Team (2008). R: A language and environment for statistical computing. R Foundation for Statistical Computing, Vienna, Austria. ISBN 3-900051-07-0, URL http://www.R-project.org.}

%\newlength{\swtLen}
%\setlength{\swtLen}{\widthof{\sidewaysText}}
%\newlength{\swtPos}
%\setlength{\swtPos}{\yoffset}
%\addtolength{\swtPos}{0.5\swtLen}

%\newlength{\swtPos}
%\setlength{\swtPos}{350em}

\AddToShipoutPicture{\put(5,10){\rotatebox{90}{\scalebox{0.8}{\sidewaysText}}}}

\usepackage{fancyhdr}
\pagestyle{fancy}
\renewcommand{\headrulewidth}{0.4pt}
\renewcommand{\footrulewidth}{0.4pt}
\chead{I want this header}
\lfoot{\scriptsize
Here is some footer text.}

但这是输出:

如您所见,"THIS IS SOME HEADER" 作为 header 的一部分以大写字母、斜体显示并右对齐。如何避免这种情况?

提前致谢!

report.sty 中加载 fancyhdr 后,使用 \fancyhf{} 清除所有 headers/footers 首先 。也就是说,

\usepackage{fancyhdr}
\pagestyle{fancy}
\fancyhf{}% Clear header/footer
\renewcommand{\headrulewidth}{0.4pt}% Header rule
\renewcommand{\footrulewidth}{0.4pt}% Footer rule
\chead{I want this header}% Centre header
\lfoot{\scriptsize Here is some footer text.}% Left footer

您只设置了 \chead\lfoot,因此 header/footer 的其他四个组件(每个三个:left,centre, right) 可能仍然包含内容规范......无论它们是什么。 \fancyhf{} 清除所有这些,以便您可以根据需要进行设置。

当然如果你只想清除rheader,也可以执行\rhead{}.