Freemarker自定义字符转义(转义LaTeX特殊字符)

时间:2019-04-25 09:20:08

标签: java latex pdf-generation freemarker

使用freemarker创建.tex文件时,转义特殊乳胶字符的最佳方法是什么?

当前,我正在传递一个用于转义符号的Java函数,并且必须将每个变量包装到该函数调用中。我知道freemarker具有某些格式的内置转义功能,但遗憾的是不支持乳胶。

这是我目前的做法:

${escapeFormatter.escapeSymbols(some.value)!}

我不喜欢我必须为每个值手动调用此函数。如何使它更通用?

1 个答案:

答案 0 :(得分:1)

您可以通过freemarker.template.Configuration#setRegisteredCustomOutputFormats注册自己的“输出格式”。然后可以将它们与自动转义功能一起使用,就像标准转义功能一样(请参阅:https://freemarker.apache.org/docs/dgui_misc_autoescaping.html)。另请参见OutputFormatMarkupOutputFormat API文档,并以源代码中的实现为例。