我想写一些文本 - 不在 a 内\verb
- 其中下划线可以出现并且将被视为字母。这需要一些我不知道的低级 TeX 魔法 - 也许像\makeatletter
and 这样的\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}