防止pandoc将$转换为mediawiki <math> </math>

时间:2015-04-10 04:20:06

标签: markdown mediawiki r-markdown pandoc

我正在使用pandoc:

将markdown文件转换为mediawiki表

文件mtcars.md的内容:

|   |c1   |c2 |
|:--|:----|:--|
|7  |P$A |A  |
|8  |AB  |B  |
|9  |P$A |C  |

然后我做(我使用的是Ubuntu 64位和pandoc版本1.13.2)

pandoc -t mediawiki -o mtcars.txt mtcars.md

但是这两个$符号被解释为<math>...</math>

{|
!
!c1
!c2
|-
|7
|P<math>A |A | |8 |AB |B | |9 |P</math>A
|C
|}

我怎样才能获得美元符号?

1 个答案:

答案 0 :(得分:2)

pandoc documentation说:

  

两个$字符之间的任何内容都将被视为TeX数学。该   打开$必须在其右边有一个非空格字符,   而结束$必须立即有一个非空格字符   离开,不得紧接着一个数字。因此,20,000美元   并且$ 30,000不会解析为数学。如果由于某种原因你需要   用文字$字符包围文本,反斜杠 - 转义它们和它们   不会被视为数学分隔符。

所以,一种方法是在$:

前加一个反斜杠
|   |c1   |c2 |
|:--|:----|:--|
|7  |P\$A |A  |
|8  |AB  |B  |
|9  |P\$A |C  |

输出:

| |c1 |c2 | |:--|:----|:--| |7 |P$A |A | |8 |AB |B | |9 |P$A |C |

(我似乎没有像你那样得到相同的mediawiki输出格式,但你明白了。)

另一种方法是在$之后加一个空格,尽管这会在输出中添加一个空格。

$符号的解释是名为tex_math_dollars的降价扩展的一部分 - 您应该能够通过指定markdown-tex_math_dollarsmarkdown_strict的输入格式来完全抑制它(尽管如此我没有在这里的旧版本的pandoc上工作。)