我在 LaTeX 前面使用 apache velocity。# 和 $ 转义字符与 LaTeX 冲突。我想用 %% 替换 # 并用 @@ 替换 $ 以避免冲突。简单地在源文件代码上使用字符串替换不是一个好的解决方案,因为我必须使用 #parse 和 #include 之类的东西。解析/包含的文件也应该能够使用修改后的转义字符。有没有办法配置这个?有配置选项吗?
问问题
169 次
1 回答
1
您可以使用自定义资源加载器来修改 #parse 加载的文件:
VelocityEngine engine = new VelocityEngine();
Properties props = new Properties();
props.put("resource.loader", "customloader");
props.put("customloader.resource.loader.class", CustomLoader.class.getName());
engine.init(props);
public static class CustomLoader extends FileResourceLoader {
public InputStream getResourceStream(String arg0) throws ResourceNotFoundException {
InputStream original = super.getResourceStream(arg0);
//TODO modify original, return modified
original.close();
}
}
于 2014-09-16T07:30:15.330 回答