latex - Pandoc 在重新定义 \part 时从 .tex 到 .docx 产生错误
问题描述
在使用 pandoc 将 LaTeX 文件转换为 Word 文档时,我遇到了以下错误:
...>pandoc test.tex -o test.docx --pdf-engine=xelatex
Error at "source" (line 12, column 1):
unexpected \part
expecting \end{document}
\part{Introduction}
^
该错误也发生在pandoc test.tex -o test.docx
. 这是一个使用 XeLaTeX 编译但在 pandoc 中产生错误的最小示例:
%test.tex
\documentclass{book}
\newcommand*\parttitle{}\let\origpart\part
\renewcommand*{\part}[2][]{\ifx\\#1\\%
\origpart{#2}%
\renewcommand*\parttitle{#2}%
\else
\origpart[#1]{#2}%
\renewcommand*\parttitle{#1}%
\fi
}
\begin{document}
\part{Introduction}
\chapter{Context}
\section{Lorem}
Lorem ipsum dolor sit amet,
consectetuer adipiscing elit.
Ut purus elit, vestibulum ut, placerat ac, adipiscing vitae, felis.
Curabitur dictum gravida mauris.
\end{document}
的重新定义\part
来自 Tex SE 上的这个答案。另一方面,使用 OP 选择的答案,pandoc 不会抱怨:
%test.tex
\documentclass{book}
\let\Oldpart\part
\newcommand{\parttitle}{}
\renewcommand{\part}[1]{\Oldpart{#1}\renewcommand{\parttitle}{#1}}
\begin{document}
\part{Introduction}
\chapter{Context}
\section{Lorem}
Lorem ipsum dolor sit amet,
consectetuer adipiscing elit.
Ut purus elit, vestibulum ut, placerat ac, adipiscing vitae, felis.
Curabitur dictum gravida mauris.
\end{document}
什么区别导致第一个错误?