0

我在 LaTeX 前面使用 apache velocity。# 和 $ 转义字符与 LaTeX 冲突。我想用 %% 替换 # 并用 @@ 替换 $ 以避免冲突。简单地在源文件代码上使用字符串替换不是一个好的解决方案,因为我必须使用 #parse 和 #include 之类的东西。解析/包含的文件也应该能够使用修改后的转义字符。有没有办法配置这个?有配置选项吗?

4

1 回答 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 回答