修改 alltt

修改 alltt

我想创建一个环境,alltt以这样的方式包装,即角色被环境内部的任何位置'替换,但在其他地方则正常。我曾尝试复制所用的技巧,但无法充分掌握 catcode 黑客技术以使其工作。任何建议都非常受欢迎。\textquotesingleupquote.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}

在此处输入图片描述

相关内容