![遵循空间的环境](https://linux22.com/image/249014/%E9%81%B5%E5%BE%AA%E7%A9%BA%E9%97%B4%E7%9A%84%E7%8E%AF%E5%A2%83.png)
我需要构建一个遵循空格但不遵循换行符的环境,并将制表符更改为四个空格。
我不能逐字使用,因为我还想在我的环境中使用宏。
答案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)。您还可以更改环境中使用的字体。