遵循空间的环境

遵循空间的环境

我需要构建一个遵循空格但不遵循换行符的环境,并将制表符更改为四个空格。

我不能逐字使用,因为我还想在我的环境中使用宏。

答案1

alltt基础发行版中同名软件包的环境可以完成大部分工作。对于制表符,您总是希望它们是四个空格(简单)还是制表到下一个 4 的倍数(可能,但最好由您的编辑器处理)

答案2

我会通过激活空格和制表符来解决这个问题。您可以直接执行此操作,但使用“小写技巧”是我最喜欢的方法:

\documentclass{article}
\begingroup
\catcode`\@=\active
\catcode`\!=\active
\lccode`\@=`\ % At-sign is a space
\lccode`\!=9 % Exclamation mark is a tab
\lowercase{%
  \endgroup
  \newenvironment{activespaces}{%
    \catcode`\ =\active % Space active
    \catcode 9 =\active % Tab active
    \let@=~%
    \def!{~~~~}% % Tab as four spaces
  }{%
    \par
  }
}
\begin{document}
\begin{activespaces}
Some text with active   spaces  !% That's a tab just before the "!"
More text
\end{activespaces}
Phew,   back   to normal!
\end{document}

答案3

对于标签,您可能需要使用fancyvrb以下工具:

\documentclass{article}
\usepackage{fancyvrb}
\begin{document}
\begin{Verbatim}[commandchars=\\\{\},tabsize=8,showtabs]
This    has tabs
\textit{even}   with \textit{italic}
\end{Verbatim}
\end{document}

showtabs选项仅用于显示标签的存在,并非必需。该tabsize值可以是任何整数(默认为 8)。您还可以更改环境中使用的字体。

相关内容