如果我转换单引号'
从 HTML 到 Markdown,它会自动转义:
% echo "'" | pandoc -f html -t markdown
\'
我希望它输出时不带斜杠,因为它使带有缩写的文本更难以阅读。
我认为这可能是由于“all_symbols_escapable”选项造成的,但即使我关闭它,它仍然会发生:
% echo "'" | pandoc -f html -t markdown-all_symbols_escapable
\'
It isn't然而,markdown_strict 存在一个问题:
% echo "'" | pandoc -f html -t markdown_strict
'
有什么建议么?我想使用默认的 Pandoc markdow 并调整选项,或者如果不是其他人所期望的,则将其报告为错误。
转义与pandoc有关smart
扩展。此扩展在适当的时候将单引号转换为印刷正确的开始/结束单引号或撇号。当查看仅使用 ASCII 字符的 HTML 输出时,这一点变得最清楚:
% echo "'hello'" | pandoc -f markdown -t html --ascii
<p>‘hello’</p>
% echo "let's" | pandoc -f markdown -t html --ascii
<p>let’s</p>
可以通过转义字符来根据具体情况禁用这种对引号的智能处理
% echo "let\'s" | pandoc -f markdown -t html --ascii
<p>let's</p>
或者通过禁用 markdown 的智能扩展:
% echo "let's" | pandoc -f markdown-smart -t html --ascii
<p>let's</p>
所以每当 pandoc 看到'
HTML 中的字符,它假设该字符是有意选择的,而不是更正确的单引号,从而确保从 Markdown 读回时不会以“智能”方式处理它。
因此,解决方案是告诉 pandoc 它应该忽略这些细节,并在编写 Markdown 时就好像它不会受到引号的智能处理一样:
% echo "'" | pandoc -f html -t markdown-smart
'
The smart使用时扩展已被禁用markdown_strict
,这就是为什么在这种情况下你会得到所需的行为。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)