使用注释定义新环境的问题

使用注释定义新环境的问题

在我的某些框架中,我想声明一个来源,我在哪里找到了此框架的信息。但这种来源应该是不可见的。

因此,我尝试定义自己的环境并将其内容放在注释中。但是,它不起作用。:/

我究竟做错了什么?

非常感谢您的帮助!

我的 MWE:

\documentclass{beamer}

\usepackage{comment}

\newenvironment {source}[1]
{\begin{comment}#1}
{\end{comment}}

\begin{document}

    \begin{frame}
        \source{Page 123} % should be invisible
        My MWE
    \end{frame}


\end{document}

答案1

如果你将它定义为\newenvironment{source}{intro stuff}{outro stuff},那么你可以将它用作

\begin{source}
content
\end{source}

如果你将它定义为\newenvironment{source}[1]{intro stuff}{outro stuff},那么你可以将它用作

\begin{source}{This is item 1}
content
\end{source}

如果您将其定义为\newcommand{\source}[1]{command definition},则您将其用作\source{This is item 1}

但是如果你已经包含了评论包,只想扔掉内容,你可以说\excludecoment{source}。这相当于你的定义,这样你就可以把它用作

\begin{source}
content
\end{source}

答案2

您正在使用\source,因此不应用来定义它\newenvironment

对于“消失”命令,技巧应该是

\makeatletter
\newcommand{\source}[1]{\@bsphack\@esphack}
\makeatother

基本上告诉 LaTeX 忽略 的参数\source以及其后的空格。

相关内容