编辑降价时如何强制将 % 评论标签作为乳胶文件中的评论传递
How to force passing of % comment tags as comments in a latex file when editing markdown
将 markdown 文件转换为 latex 文件时,pandoc 通过自动转义 (\%
) 确保所有 % 字符保持为常规 %
字符。我的工作流程要求我将 %TC:ignore
和 %TC:endignore
标签传递给降价,以便我可以使用 texcount
实用程序。有没有办法强制通过 %
作为普通的旧 %
标志而不被转义
我看到了两个解决方法。
我在 中解释了第一个。如果它在环境中,我们可以使用 pandoc 传递原始乳胶的能力。我们定义了一个什么都不做的新环境,并在那里传递评论。它很丑陋,但它有效:
---
header-includes:
- \newenvironment{dummy}{}{}
---
\begin{dummy}
%TC:ignore
\end{dummy}
第二个是编写一个过滤器,将一些字符串转换为 latex
类型的 RawInline
而不是实际的字符串。
#!/usr/bin/env python
from pandocfilters import toJSONFilter, RawInline
def comments(k, v, f, meta):
if k == 'Str' and v in ['%TC:ignore','%TC:endignore']:
return RawInline('latex', v)
if __name__ == "__main__":
toJSONFilter(comments)
将其保存为 comments.py
,并将 运行 保存为 pandoc myfile.md -o myfile.tex --filter comments.py
。您需要 python 安装和库 pandocfilters
(pip install pandocfilters
应该可以)。
这个解决方案的优点是它保持输入文件干净。但是你需要在过滤器中添加所有你想转义的字符串,如果你有各种类型的注释,这会很麻烦。
将 markdown 文件转换为 latex 文件时,pandoc 通过自动转义 (\%
) 确保所有 % 字符保持为常规 %
字符。我的工作流程要求我将 %TC:ignore
和 %TC:endignore
标签传递给降价,以便我可以使用 texcount
实用程序。有没有办法强制通过 %
作为普通的旧 %
标志而不被转义
我看到了两个解决方法。
我在
---
header-includes:
- \newenvironment{dummy}{}{}
---
\begin{dummy}
%TC:ignore
\end{dummy}
第二个是编写一个过滤器,将一些字符串转换为 latex
类型的 RawInline
而不是实际的字符串。
#!/usr/bin/env python
from pandocfilters import toJSONFilter, RawInline
def comments(k, v, f, meta):
if k == 'Str' and v in ['%TC:ignore','%TC:endignore']:
return RawInline('latex', v)
if __name__ == "__main__":
toJSONFilter(comments)
将其保存为 comments.py
,并将 运行 保存为 pandoc myfile.md -o myfile.tex --filter comments.py
。您需要 python 安装和库 pandocfilters
(pip install pandocfilters
应该可以)。
这个解决方案的优点是它保持输入文件干净。但是你需要在过滤器中添加所有你想转义的字符串,如果你有各种类型的注释,这会很麻烦。