创建个人笔记环境

创建个人笔记环境

我正在使用以下

\newcommand{\PERSONALNOTE}[1]{\textcolor{red}{#1}}

用于在写作时插入个人笔记;这样我就可以在构建最终文章时将其关闭,只需将行更改为

\newcommand{\PERSONALNOTE}[1]{}

问题是这个代码很脆弱。我不能创建段落(双行换行)。我想把它转换成类似于

\newtheorem{pnote}{Personal Notes}

pnote这样更好,因为我有编号,但是当我想构建无注释的最终版本时,我不知道如何关闭这些块。

答案1

您使用的 show 不是真实环境(例如\begin{pnote} ... \begin{pnote}:),而是带有一个参数的宏(\pnote{....})。

尽管您想要的可以通过宏轻松完成,如显示 David 的评论,但对于包含多个段落的长注释,可能还有列表、表格等,真实环境会更方便。一个原因是没有空行的问题,但也许更重要的是 stard 和 end 都是语义上有意义的。在长注释中,借助宏很难看到参数在哪里结束,或者}当在之前的几行中没有任何参数时,到底是什么关闭了一个孤独的{ 行(如果有很多行,也是如此,尽管一些编辑器可以帮助完成这项任务,突出显示正确的行)。

创建一个真实的环境非常容易:

\documentclass{article}
\usepackage{xcolor,lipsum}
\newenvironment{pnote}{\color{blue}}{}
\begin{document}
    \lipsum[1]
    \begin{pnote}
        \lipsum[2-3]
    \end{pnote}
    \lipsum[4]
\end{document}

如果您想将个人笔记隐藏为verbatim包的注释,最简单的方法是加载包和 \let\pnote\comment\let\endpnote\endcomment如果您在环境定义的第二个参数中输入了一些内容pnote)。如果您想将它们转换为普通文本而不是隐藏,显然您可以\renewenvironment{pnote}{}{}甚至\let\pnote\normalsize

另一方面,似乎你也希望对笔记进行编号,因此 MWE 可以以如下形式结束:

\documentclass{article}
\usepackage{verbatim}
\usepackage{xcolor}
\usepackage{lipsum}

% to show notes in blue with counter
\newcounter{personaln}
\newenvironment{pnote}{\color{blue}
\stepcounter{personaln}
\par\bigskip\noindent{\bfseries Personal note \arabic{personaln}:}
\par\medskip}{\par\medskip} 

% Uncomment the next line to show notes as normal text  
% \renewenvironment{pnote}{}{} 

% Uncomment the next lines to hide the notes
% \let\pnote\comment
% \let\endpnote\endcomment 

\begin{document}
    \large
    \lipsum[1]
    \begin{pnote}
        \lipsum[2-3]
    \end{pnote}
    \lipsum[4]
\end{document}

话虽如此,隐藏/取消隐藏笔记也很容易使用 todonotes

相关内容