【问题标题】:How to change macro escape char in Apache Velocity如何在 Apache Velocity 中更改宏转义字符
【发布时间】:2014-09-15 15:04:26
【问题描述】:

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

【问题讨论】:

    标签: latex velocity template-engine xelatex


    【解决方案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();
        }
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-10-03
      • 2015-04-29
      • 2015-12-14
      • 2016-07-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多