Некоторые среды могут, например, alltt;однако, lstlisting не может из-за того, как он написан (он, очевидно, имеет отношение к разным каткодам, которые он делает).
Использование \ def, как вы делаете, является устаревшим;\ newcommand является предпочтительным:
\ newcommand \ allttcode [1] {\ begin {alltt} # 1 \ end {alltt}}
...
\ allttcode {тест}