我怎样才能使下划线字符变得像字母一样/“不活跃”?

我怎样才能使下划线字符变得像字母一样/“不活跃”?

我想写一些文本 - 不在 a 内\verb- 其中下划线可以出现并且将被视为字母。这需要一些我不知道的低级 TeX 魔法 - 也许像\makeatletterand 这样的\makeatother?无论如何,有人能帮我提供适当的片段吗?执行此操作的环境会很好,但此状态的开始和结束命令也可以。

答案1

_将from的 catcode 改为8 'letter' 就足够了,即11

如果是在环境提供的组内完成,则 catcode 更改不会泄漏到外面。

为了使宏工作,必须在读取宏参数之前更改 cat 代码,即这实际上是移动参数的工作,请参阅命令\inactive

\documentclass{article}

\usepackage[T1]{fontenc}
\newenvironment{inact}{%
  \catcode`\_11%
}{%
}


\newcommand{\inactive}{\begingroup\catcode`\_11 \inactiveinternal}%

\newcommand{\inactiveinternal}[1]{%
  #1\endgroup%
}



\begin{document}
\begin{inact}
Some stuff with_underline_characters
\end{inact}

\inactive{Use this with nice _ characters}

\end{document}

enter image description here

相关内容