Pandoc在重新定义\ part时从.tex到.docx产生错误

时间:2018-10-08 13:22:53

标签: latex pandoc

在使用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上的this answer。另一方面,使用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}

什么差异导致第一个错误?

0 个答案:

没有答案