You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

R Markdown转PDF:页眉出现文档标题,如何仅保留自定义logo?

问题描述

我需要在PDF所有页面的页眉添加Logo,文档包含目录。添加命令后Logo成功显示,但一级标题(如# Cats)也出现在页眉中,如何去除页眉中的标题,仅保留Logo?

原代码:

---
title: "my title"
output:
  pdf_document:
    latex_engine: xelatex
    toc: true 
    toc_depth: 4 
    fig_caption: true

header-includes:
  - \\usepackage{fancyhdr}
  - \\usepackage{multicol}
  - \\usepackage{xcolor}
  - \\usepackage{graphicx}
  - \\usepackage{lscape}
  - \\renewcommand{\\familydefault}{\\sfdefault}
  - \\usepackage[debrief, save]{silence} 
  - \\WarningFilter{fancyhdr}{\\headheight is too small}
  - \\WarningFilter{fancyhdr}{\\footskip is too small}
  - \\usepackage{floatrow}
  - \\floatsetup[figure]{capposition=top}
  - \\floatsetup[table]{capposition=top}
  - \\usepackage{fontspec}
---
\\addtolength{\\headheight}{1.0cm} 
\\pagestyle{fancyplain} 
\\lhead{\\includegraphics[height=1.2cm]{C:/Path/to/logo/mylogo.png}} 
\\renewcommand{\\headrulewidth}{0pt}


```{r setup, include=FALSE}
knitr::opts_chunk$set(
    echo = FALSE,
    message = FALSE,
    warning = FALSE
)

\newpage

Cats

cat cat cat

\newpage

Dogs

dog dog dog

\newpage

页眉效果:
![页眉效果](https://i.sstatic.net/z7Qw2.png)

# 解决方案
问题出在`fancyplain`样式默认会将章节标题自动填充到页眉右侧。只需清空所有默认的页眉内容,再单独设置左侧Logo即可,具体修改如下:

将原LaTeX命令部分替换为:
```latex
\\addtolength{\\headheight}{1.0cm} 
\\pagestyle{fancy}  % 改用fancy样式,更便于统一控制
\\fancyhf{}  % 清空所有页眉、页脚的默认内容
\\lhead{\\includegraphics[height=1.2cm]{C:/Path/to/logo/mylogo.png}} 
\\renewcommand{\\headrulewidth}{0pt}

说明

  1. \\fancyhf{}会重置所有页眉和页脚的默认内容,彻底移除自动生成的章节标题;
  2. 改用\\pagestyle{fancy}替代fancyplain,避免fancyplain对章节页和普通页的差异化样式设置;
  3. 如果需要保留fancyplain样式,也可以在原代码基础上添加两行清空命令:
    \\rhead{}  % 清空右侧页眉的章节标题
    \\chead{}  % 清空中间页眉内容
    

修改后的完整代码:

---
title: "my title"
output:
  pdf_document:
    latex_engine: xelatex
    toc: true 
    toc_depth: 4 
    fig_caption: true

header-includes:
  - \\usepackage{fancyhdr}
  - \\usepackage{multicol}
  - \\usepackage{xcolor}
  - \\usepackage{graphicx}
  - \\usepackage{lscape}
  - \\renewcommand{\\familydefault}{\\sfdefault}
  - \\usepackage[debrief, save]{silence} 
  - \\WarningFilter{fancyhdr}{\\headheight is too small}
  - \\WarningFilter{fancyhdr}{\\footskip is too small}
  - \\usepackage{floatrow}
  - \\floatsetup[figure]{capposition=top}
  - \\floatsetup[table]{capposition=top}
  - \\usepackage{fontspec}
---
\\addtolength{\\headheight}{1.0cm} 
\\pagestyle{fancy} 
\\fancyhf{} 
\\lhead{\\includegraphics[height=1.2cm]{C:/Path/to/logo/mylogo.png}} 
\\renewcommand{\\headrulewidth}{0pt}


```{r setup, include=FALSE}
knitr::opts_chunk$set(
    echo = FALSE,
    message = FALSE,
    warning = FALSE
)

\newpage

Cats

cat cat cat

\newpage

Dogs

dog dog dog

\newpage

内容的提问来源于stack exchange,提问作者Mathica
相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.05 09:11:19