我有以下Markdown嵌入式LaTeX方程式:
# Fisher's linear discriminant
\newcommand{\cov}{\mathrm{cov}}
\newcommand{\A}{\mathrm{A}}
\renewcommand{\B}{\mathrm{B}}
\renewcommand{\T}{^\top}
The first method to find an optimal linear discriminant was proposed by Fisher
(1936), using the ratio of the between-class variance to the within-class variance
of the projected data, $d(\vec x)$, as a criterion. Expressed in terms of the
sample properties, the $p$-dimensional centroids $\bar {\vec x}_\A$ and
$\bar {\vec x}_\B$ and the $p \times p$ covariance matrices
$S_A = \cov_i ( \vec x_{\A i} )$ and $S_B = \cov_i ( \vec x_{\B i} )$, the
optimal direction is given by
$$
\vec w = \left ( \frac{ S_A + S_B }{2} \right ) ^{-1}
~ ( \bar {\vec x}_\B - \bar {\vec x}_\A ).
$$
当我使用pandoc将其转换为LaTeX并使用xelatex进行编译时,我得到了具有良好渲染数学的预期文本。当我使用
将它与pandoc一起转换为MS Word时pandoc test.text -o test.docx
并在MS Office Word 2007中打开它,我得到以下内容:
只有符号或直立文本的等式中的那些部分才能正确呈现,而斜体中的变量名称会被框中的问号替换。
如何使这项工作?
答案 0 :(得分:1)
在Word 2007中,我看到一个类似于你的结果,除了在这里,我没有看到“盒子里的问号”字符,只是空格。
如果我然后使用其中一个表达式,然后使用你的线性显示和返回的技巧,字符会再次出现在该表达式中。
如果我保存并重新打开,其他表达式仍然无法正确显示,但如果我保存并查看XML,我会注意到
由于Word 2010正确显示结果,我只能假设它不依赖于这些显式字体设置,而Word 2007则可以。这对你来说并没有什么帮助,因为改变所有w:r元素会比你现在做的更难。但是有可能需要设置默认样式/字体,要么在XML层次结构中较高的位置,要么在.zip中的其他位置(可能在fontTable.xml或styles.xml中)。我不太熟悉Word的XML结构来猜测,如果有什么可能遗漏,但明天可能会看一看。
我认为另一种可能性是你必须拥有所有这些额外的rPr元素才能在Word 2007中工作,这表明pandoc可能是为Word 2010而不是2007年编写的。(我什么都不知道关于工具)。
举个例子,你有
<m:r>
<m:t>(</m:t>
</m:r>
你需要的是
<m:r>
<w:rPr>
<w:rFonts w:ascii="Cambria Math" w:hAnsi="Cambria Math" />
</w:rPr>
<m:t>(</m:t>
</m:r>
答案 1 :(得分:1)
我做了以下操作来摆脱字体问题:
答案 2 :(得分:0)
如上所述,Windows没有字体Lucida Grande
,因此用Cambria Math
替换Math Font应该有效。
test.docx
重命名为test.zip
vim test.zip
并选择test/word/settings.xml
Lucida Grande
更改为Cambria Math
然后,您还可以使用--reference-docx option将该文件作为一种docx模板提供给pandoc。