![修改 alltt](https://linux22.com/image/279286/%E4%BF%AE%E6%94%B9%20alltt.png)
我想创建一个环境,alltt
以这样的方式包装,即角色被环境内部的任何位置'
替换,但在其他地方则正常。我曾尝试复制所用的技巧,但无法充分掌握 catcode 黑客技术以使其工作。任何建议都非常受欢迎。\textquotesingle
upquote.sty
答案1
\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage{alltt,textcomp} % textcomp for \textquotesingle
\newenvironment{ualltt}
{%
\alltt % start alltt
\begingroup\lccode`~=`' % make ~ a ' in \lowercase
\lowercase{\endgroup\let~\textquotesingle}% make active ' call \textquotesingle
\catcode`\'=\active % make ' active
}
{\endalltt}
\begin{document}
Some text
\begin{ualltt}
a'b'c
\end{ualltt}
\end{document}