从 .tex 文件中删除注释?

从 .tex 文件中删除注释?

我是 LaTeX 新手,刚刚开始创建自己的小模板。我到处都加上注释,这样更容易记住哪个命令做什么。

但我希望有一个不包含这些注释的单独文件。有什么简单的方法可以从 .tex 文件中删除所有注释吗?

谢谢

答案1

我希望您不会介意这个建议,但在我看来,当您编译 LaTeX 文档时,您将看到没有注释的所有内容。如果这足以满足您的需要,那么为什么不只使用编译后的 .pdf 文档加上源 .tex 文件呢。

当您编辑 .tex 文档时,注释是否会以不同的颜色显示?许多(大多数?)编辑器会将您的注释置于不同的颜色中,以便更容易看到 .tex 文件中哪些部分是注释,哪些部分不是。我发现,如果您的注释与正文颜色相同,那将非常令人困惑。

[我鼓励你保留这些评论(即使你只是让它们更小/更短),因为我发现评论可以帮助我跟踪 LaTeX 正在做的事情...... - 对我来说,没有评论会更加令人困惑.....对不起,我想这可能不是你想要的答案]

答案2

1/ 你想做什么

你想告诉你的集成开发环境(即您用来写入文件的程序.tex)至:

  1. 查找文本中的所有评论
  2. 删除它们 — 即用空字符串替换它们

2/ 向你的 IDE 解释注释是什么

那么问题是“我如何告诉我的 IDE 注释是什么?”。首先,让我们定义注释是什么。注释:

  1. 是未知数量的连续字符
  2. 以。。开始%
  3. 但不以 开头\(否则,你将删除使用百分比符号的句子%— — 例如,在“我肯定应该加薪 13%!”在您的代码中写如下I should definitively get a 13\% raise!:)。
  4. 在行末结束。

要将此信息告知你的 IDE,你可以使用正则表达式(regex)。解释正则表达式超出了这里的主题,但您正在寻找的“正则表达式代码”是:

(?<!\\)%.*

正则表达式的解释:

  • .*:您正在寻找任意字符的未知数字(这里暗示:以行末结束)。
  • %:应该在一个%字符之后到达。
  • (?<!\\): 但该字符 ( ) 前面%不应该有反斜杠 ( )。!(?< )\\

3/ 继续删除

然后您“只”需要搜索前一个正则表达式并将每个匹配的字符串替换为空字符串。

“只是”,因为这并不容易。事实上,前面的表达使用了负面后视,这是一项高级正则表达式功能,并非每个编辑器都实现此功能。然后我们将讨论一种解决方法。

(如果您的 IDE 启用了正则表达式环视,您可能不需要我告诉您如何进行搜索和替换。)


在可能损坏您的代码之前,您可以测试它是否适用于此文本示例:

% this is a full line comment
This line starts with normal text,% and ends with a comment.
This line is 100\% text, without any comment.

4/ 如果您使用 TeXworks、TeXstudio、Atom 或任何其他不支持正则表达式查找的 IDE,请采用解决方法。

这是一个不使用正则表达式查找的解决方案。其思路是:

  1. “保护”\%文本中的出现,
  2. 删除评论
  3. 恢復\%正常。

预备,开始:

4.1/ 保护\%

这里的想法是暂时\%用以下内容替换:1/ 不会被下一个正则表达式删除,2/ 之后可以轻松地重新转换\%为不会导致任何误报错误。您需要做的是:

  • 搜索:\%不要使用“正则表达式搜索”)
  • 替换为:([this is a protected percentage symbol and will be soon be reverted back to normal]除非你已经有确切地这句话显然出现在您的文档中)。

4.2/ 删除评论

现在我们确定%文档中的所有字符都是注释的开始,我们可以直接将它们全部删除:

  • 搜索:(%.*此处使用“正则表达式搜索”)
  • 替换为:(无任何内容,即保留文本输入空白)

4.3/ 将百分比符号恢复正常

现在我们可以撤消步骤 4.1。为此:

  • 搜索:([this is a protected percentage symbol and will be soon be reverted back to normal]或您在步骤 4.1 中使用的任何字符串。不要使用“正则表达式搜索”。)
  • 用。。。来代替:\%

瞧!

5/ 如何在我的 IDE 中进行(正则表达式)搜索和替换?

这取决于您的 IDE。您需要确保您的“搜索和替换”功能接受正则表达式(并且不会盲目地(?<!\\)%.*在文本中查找)。

  • 特克斯沃克斯:进入Search/Replace菜单(或Ctrl+ R)。要激活正则表达式搜索,请勾选“正则表达式”框。

    4.1/
    在此处输入图片描述
    4.2/
    在此处输入图片描述
    4.3/
    在此处输入图片描述

  • 特克斯工作室:按Ctrl+ R。要激活正则表达式搜索,请单击Reg“查找”行末尾的小按钮。

    4.2/
    在此处输入图片描述

  • 原子:点击Ctrl+ F。要激活正则表达式搜索,请单击.*按钮。

    4.2/
    在此处输入图片描述

相关内容