为 jinja 分隔符定义类似注释的 latex 新命令是否兼容?

为 jinja 分隔符定义类似注释的 latex 新命令是否兼容?

我开始使用金贾用于在 latex 中创建模板。据我所知,需要更改默认的 jinja 分隔符(例如{%%}),以避免与 latex 使用的分隔符发生冲突。我已获得以下设置作为起点:

env = Environment(
    loader=PackageLoader(pages_module, 'templates'),
    autoescape=False, 
    block_start_string='<#',
    block_end_string='#>',
    variable_start_string='<<',
    variable_end_string='>>',
    comment_start_string='<%',
    comment_end_string='%>',
)

问题是,现在我的 IDE 抱怨我无法在 latex 模板文件中“在水平模式下使用宏参数字符 #”。也许这是一个有点愚蠢的要求,但我想摆脱这些虚假错误,这些错误可能会混淆我的 IDE 可以在文件上检测到的其他问题。看看这个选择分隔符集,并考虑定义具有类似注释行为的新命令的可能性,例如那么,为 Jinja 定义以下环境会有问题吗:

env = Environment(
    loader=PackageLoader(pages_module, 'templates'),
    autoescape=False, 
    block_start_string='\JBLOCK{',
    block_end_string='}',
    variable_start_string='\JVAR{',
    variable_end_string='}',
    comment_start_string='<%', # or whatever, I don't plan to use jinja comments
    comment_end_string='%>',
)

然后在乳胶模板中使用它:

\newcommand{\JBLOCK}[1]{}
\newcommand{\JVAR}[1]{}
(...)
\JBLOCK{ block body }
\JBLOCK{ endblock body }
(...)

我使用类似的东西是否会冒着出现一些意外行为或难以确定冲突的风险?

相关内容