星期一, 九月 22, 2008

关于Latex中的注释

最基本的是用百分号 %,把想注释掉而不显示的用%在行前一行一行地除掉。缺点是多了的话加%s挺麻烦的,而且更头疼的是如果以后想用那些句子的时候,又要一行一行地删。什么时候又不想要了。。。那就疯了。 所以%主要只适用于对某个地方做注释,方便自己阅读。

而如果是有一段话,不知道是否加上,目前想不用,但又担心以后要显示在文本中。一个简单的方法是把这一段剪切到最后去,在\end{document}之后,这样编译也不报错,也不显示。但问题是要显示的地方多了,都放后面就不知道哪是哪了。

另一个办法是用 \iffalse ... \fi 把要干掉的话包起来。这个对一大段话很有用。两个命令就搞定了,不用那么多%s,也不会因为放到最后去而不方便自己检查。如果要启用这段话的话,把false改为true就可以了!

上面的这个办法我常用,不过对于下面这种情况就有点无能为力了:我一边写文章一边推公式,把公式的中间过程也放在文章里,这样在检查的时候比较方便。但是真正成文的时候它们又是不应该显示的。其实说白了,就是有很多注释,希望在需要的时候要它显示就显示,要它消失就消失。

没有去查有没有什么现成的办法,想到一个简单可行的办法:
在tex文件开始的地方定义 \def\ifnote{\iftrue} ,这就相当于把\ifnote 定义为\iftrue 。
然后在需要注释的地方用 \ifnote...\fi把文字包起来。这种要包起来的地方很多。这样编译的话,注释是显示的。在想灭掉注释的时候,只需到文档前面去把\iftrue 改为\iffalse就可以了!

但是这个有一个问题, 是貌似不支持嵌套使用. 特别是在包含公式的时候, \iftrue还好, 但是变成\iffalse的时候就会编译通不过. 原理未知, 目前也没重复出错误. 但一个可能的办法是加大括号:
{\ifnote ... {\ifnote ... \fi} ...\fi}

没有评论: