我一直在使用 Tex4ht 通过 ODT (oolatex) 从 LaTeX 创建 Word 文件。我想知道如果我们从 LaTeX 生成 Docbook XML,转换过程是否会更简单。这可以使用 pandoc 转换为 DOCX。
现在,如果我有一个这样的基本文件:
\documentclass{article}
\begin{document}
Some Text
\begin{quote}
A quotation.
\end{quote}
Some more text.
\end{document}
生成的 Docbook XML 中的相关部分如下所示:
--><para>Some Text</para><!--l. 7
--><para>A quotation.</para><!--l. 10
--><para>Some more text.</para>
为什么 quote-environment 没有转换为 blockquote 元素?这是一个错误吗?我们如何才能获得预期的行为?
答案1
quote
Docbook 支持缺少环境配置tex4ht
。您可以尝试以下配置文件:
\Preamble{xhtml}
\ConfigureEnv{quote}{\ifvmode\IgnorePar\fi\EndP\HCode{<blockquote>}}{\ifvmode\IgnorePar\fi\EndP\HCode{</blockquote>}\par\ShowPar}{}{}
\begin{document}
\EndPreamble
它将在环境内容<blockqoute>
周围插入元素quote
。\IgnorePar
、\EndP
和\ShowPar
将修复段落可能存在的问题。
结果如下:
<article
xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0"><title
></title>
<!--l. 3
--><para>Some Text</para><blockquote
>
<!--l. 6
--><para>A quotation.</para></blockquote>
<!--l. 9
--><para>Some more text.</para></article>