pandoc "titleformat" 统治者
pandoc "titleformat" ruler
我对 YAML 数据块有疑问。给定以下 pandoc 文档:
---
papersize: a4
geometry: "left=1.5cm,right=1.5cm,top=3cm,bottom=3cm"
fontsize: 12pt
#
subparagraph: yes
#documentclass: extarticle
header-includes:
- \usepackage[explicit]{titlesec}
- \titleformat{\section}[hang] {\filleft\huge\sc} {label}{20pt}{#1}
---
Hello World
===========
Lorem ipsum
我正确地将我的标题右对齐。现在,假设我需要一个 full-width 标题下方的标尺,如 https://tex.stackexchange.com/a/84062 中所述,需要将 \titleformat
语句修改为:
---
papersize: a4
geometry: "left=1.5cm,right=1.5cm,top=3cm,bottom=3cm"
fontsize: 12pt
#
subparagraph: yes
#documentclass: extarticle
header-includes:
- \usepackage[explicit]{titlesec}
- \titleformat{\section}[hang] {\filleft\huge\sc} {label}{20pt}{#1}[\titlerule\vspace*{4pt}]
---
Hello World
===========
Lorem ipsum
但这会导致以下错误:
Error producing PDF.
! LaTeX Error: Missing \begin{document}.
See the LaTeX manual or LaTeX Companion for explanation.
Type H <return> for immediate help.
...
l.49 {[
事实上,tex
文件显示了奇怪的代码:
...
\usepackage[explicit]{titlesec}
\titleformat{\section}[hang] {\filleft\huge\sc} {label}{20pt}{#1}
{[}\titlerule\vspace*{4pt}{]}
\date{}
\begin{document}
...
Pandoc 将该行的一部分解析为 Markdown。因此,当该行以 LaTeX 形式编写时,特殊字符将被转义以确保生成与输入相同的文本。这在这里是不受欢迎的,最好的解决方案是将行明确标记为 LaTeX:
header-includes:
- \usepackage[explicit]{titlesec}
- `\titleformat{\section}[hang] {\filleft\huge\sc} {label}{20pt}{#1}`{=latex}
也可以像这样标记整个 header 包含:
header-includes: |
```{=latex}
\usepackage[explicit]{titlesec}
\titleformat{\section}[hang] {\filleft\huge\sc} {label}{20pt}{#1}
```
好的,在 YAML 块中传递纯 Latex 解决了问题:
--
papersize: a4
geometry: "left=1.5cm,right=1.5cm,top=3cm,bottom=3cm"
fontsize: 12pt
#
subparagraph: yes
#documentclass: extarticle
header-includes:
- \usepackage[explicit]{titlesec}
- |
```{=latex}
\titleformat{\section}[hang] {\filleft\huge\sc} {label}{20pt}{#1}[\titlerule\vspace*{4pt}]
```
---
Hello World
===========
Lorem ipsum
我对 YAML 数据块有疑问。给定以下 pandoc 文档:
---
papersize: a4
geometry: "left=1.5cm,right=1.5cm,top=3cm,bottom=3cm"
fontsize: 12pt
#
subparagraph: yes
#documentclass: extarticle
header-includes:
- \usepackage[explicit]{titlesec}
- \titleformat{\section}[hang] {\filleft\huge\sc} {label}{20pt}{#1}
---
Hello World
===========
Lorem ipsum
我正确地将我的标题右对齐。现在,假设我需要一个 full-width 标题下方的标尺,如 https://tex.stackexchange.com/a/84062 中所述,需要将 \titleformat
语句修改为:
---
papersize: a4
geometry: "left=1.5cm,right=1.5cm,top=3cm,bottom=3cm"
fontsize: 12pt
#
subparagraph: yes
#documentclass: extarticle
header-includes:
- \usepackage[explicit]{titlesec}
- \titleformat{\section}[hang] {\filleft\huge\sc} {label}{20pt}{#1}[\titlerule\vspace*{4pt}]
---
Hello World
===========
Lorem ipsum
但这会导致以下错误:
Error producing PDF.
! LaTeX Error: Missing \begin{document}.
See the LaTeX manual or LaTeX Companion for explanation.
Type H <return> for immediate help.
...
l.49 {[
事实上,tex
文件显示了奇怪的代码:
...
\usepackage[explicit]{titlesec}
\titleformat{\section}[hang] {\filleft\huge\sc} {label}{20pt}{#1}
{[}\titlerule\vspace*{4pt}{]}
\date{}
\begin{document}
...
Pandoc 将该行的一部分解析为 Markdown。因此,当该行以 LaTeX 形式编写时,特殊字符将被转义以确保生成与输入相同的文本。这在这里是不受欢迎的,最好的解决方案是将行明确标记为 LaTeX:
header-includes:
- \usepackage[explicit]{titlesec}
- `\titleformat{\section}[hang] {\filleft\huge\sc} {label}{20pt}{#1}`{=latex}
也可以像这样标记整个 header 包含:
header-includes: |
```{=latex}
\usepackage[explicit]{titlesec}
\titleformat{\section}[hang] {\filleft\huge\sc} {label}{20pt}{#1}
```
好的,在 YAML 块中传递纯 Latex 解决了问题:
--
papersize: a4
geometry: "left=1.5cm,right=1.5cm,top=3cm,bottom=3cm"
fontsize: 12pt
#
subparagraph: yes
#documentclass: extarticle
header-includes:
- \usepackage[explicit]{titlesec}
- |
```{=latex}
\titleformat{\section}[hang] {\filleft\huge\sc} {label}{20pt}{#1}[\titlerule\vspace*{4pt}]
```
---
Hello World
===========
Lorem ipsum