首页 > 解决方案 > 如何在 pandoc 中重新定义标题页

问题描述

我想更改 pdf 中标题页的外观。

我在开头设置了一个带有 YAML 元数据块的降价文档。

title: my Title author: My name date: \today header-includes: |
\usepackage{color} 
\definecolor{nice_red}{RGB}{255,0,15}
\definecolor{gray01}{RGB}{38,38,38}    
\definecolor{gray02}{RGB}{110,110,110}    
\usepackage{fancyhdr}
\usepackage{graphics}
\fancypagestyle{plain}{
    \pagestyle{fancy}
    \fancyhf{}
    \fancyhead[L]{\color{nice_red}{\fontsize{40}{60}\selectfont \textbf{\_}}}
    \fancyhead[R]{\color{gray02}{\title}}
    \fancyfoot[R]{\vspace*{5mm} \includegraphics{imports/Logo.eps}}
    \fancyfoot[L]{\vspace*{5mm}\color{gray02}{\today \\ \thepage} }
}
\usepackage{titlesec}
\newcommand{\sectionbreak}{\clearpage}
\usepackage{helvet}\renewcommand{\familydefault}{\sfdefault}
\usepackage[top=4cm, bottom=1cm, left=1cm, right=1cm,paperwidth=280mm, paperheight=180mm,headsep=3cm]{geometry}
\setlength{\columnsep}{10mm}
\setlength{\headsep}{10mm}
\renewcommand{\headrulewidth}{0.0pt}
\renewcommand{\footrulewidth}{1.0pt}    
\usepackage{sectsty}
\sectionfont{\color{gray01}}  
\subsectionfont{\color{gray02}} 
subparagraph: yes'

然后通过 pandoc (2.2) 生成pdfpandoc in.md - o out.pdf

我添加\renewcommand{\maketitle}{Test} 到 YAML 块,但后来我得到了这个而不是文档:

Error producing PDF.
! Argument of \title has an extra }.
<inserted text> 
\par 
l.110 \clearpage

更新

我做了更多的探索,试图不得到 pandoc 标题页:
- 从 YAML 中删除标题、作者和日期会产生相同的错误
- 将乳胶代码移动到单独的 tex 文件中并使用--include-in-header in_header.tex会产生相同的错误

这是因为我在我的 fancyhdr 中使用了 \title

标签: pdf-generationmarkdownpandoc

解决方案


这是我现在的解决方案:不要从 pandoc 更改标题页,而是创建我自己的。我没有在 YAML 中为 pandoc 提供标题,因此它跳过了标题页。

我无法使用\title{Title}来设置,\title而是不得不使用\renewcommand{\title}{Title}.


推荐阅读