在哪些情况下 % 不会被解释为开始注释分隔符?

在哪些情况下 % 不会被解释为开始注释分隔符?

今天我第一次遇到这个lstlisting环境。我注意到,在这个环境中,char%不被解释为“开始注释分隔符”,这破坏了我的“清除注释”脚本。

我的问题是:还有哪些其他情况%字符不被解释为注释字符?

梅威瑟:

\documentclass[11pt]{article}
\usepackage{amsmath}
\usepackage{listings}
\pagestyle{empty}
\begin{document}

\begin{lstlisting}

%% No comment here!

\end{lstlisting}

\end{document}

答案1

在逐字相似的命令和环境中,%打印为其自身,因此verbatim\verbfilecontents以标准格式或流行包(例如提供listingslstlistings\lstinline提供mintedminted以及\mint定义了几个环境的包(包括)。\mintinlinefancyverbVerbatim

更专业的用途包括在正文中被忽略的doc包(但在环境中逐字处理),或者在顶层使用时允许的包。%macrocodeurlhyperref%\url

因此无需使用任何包或显式\catcode

\begin{filecontents}{\jobname.txt}
 50% of this is nonsense
\end{filecontents}

\documentclass{article}

\begin{document}

\b^^%gin{^^%numerate}
\it^^%m  some text\index{aa%bb}  more t^^%xt,
\item \verb|x%y|  and \verb*|x%y|.
\item
\begin{verbatim}
aa % yyy
\end{verbatim}
\item
\begin{verbatim*}
aa % yyy
\end{verbatim*}
\end{enumerat^^%}

\end{document}

相关内容