Latex宏忽略(删除或取消注释)某些文本

时间:2017-09-06 07:54:58

标签: macros latex environment

我希望有一个简单的解决方案:我需要一个乳胶宏来忽略tex脚本中的特定文本。 E.g:

\begin{ignoretext}
bla bla
hello
\end{ignoretext}

应编译为

hello

提前致谢:)

1 个答案:

答案 0 :(得分:0)

Pythontex包

我通过pythontex包获得了结果。我假设您将搜索并安装系统所需的编译器/软件包,这样您就可以运行以下示例。

这是您要搜索的内容的最小示例:

\documentclass{article}

\usepackage{pythontex}

\newcommand{\ignoretext}[2]{\pyc{%
  ret = r"#2".replace(r"#1", r'');%
  print(ret);%
}}

\begin{document}

\ignoretext{bla bla}{
bla bla 
Hello
}

\end{document}

此文档(test.tex)必须编译为:

pdflatex test.tex
pythontex test.tex
pdflatex test.tex

结果仅包含

Hello

宏的工作原理如下:

  1. 第一个参数包含要删除的文本
  2. 第二个参数是您的实际文本
  3. 评论包(错误答案)

    如果您以这种方式编写代码,它适用于comment包:

    \begin{comment}
    bla bla
    \end{comment}
    hello
    

    它必须包含在序言中(\usepackage{comment})。