使用freemarker创建.tex文件时,逃避特殊乳胶字符的最佳方法是什么?
目前,我正在传递一个java函数来转义符号,我必须将每个变量都包装到这个函数调用中。我知道freemarker已经内置了一些格式的转义,但遗憾的是不支持latex。
这就是我现在这样做的方式:
${escapeFormatter.escapeSymbols(some.value)!}
我不喜欢我必须为每个值手动调用此函数。我怎样才能使它更通用?
您可以通过freemarker.template.Configuration#setRegisteredCustomOutputFormats
注册自己的“输出格式”。然后,这些可以与自动转义功能一起使用,就像标准功能一样(参见:https://freemarker.apache.org/docs/dgui_misc_autoescaping.html)。另请参阅OutputFormat
和MarkupOutputFormat
API文档以及源代码中的实现作为示例。