如何告诉 alltt 不要跳过开始/结束的行?

如何告诉 alltt 不要跳过开始/结束的行?

似乎没有可以指定这一点的选项,就像verbatim我在 tex.stackexchange 上找到的一个 hack 一样:

\usepackage{etoolbox}%
\makeatletter
\preto{\@verbatim}{\topsep=0pt \partopsep=0pt}
\makeatother

\begin{alltt}跳过内容之后 en 之前的一行,如何删除它?我尝试使用下面的代码代替,@alltt@verbatim它不起作用。

事实上,我正在使用knitr将代码输入放置在alltt环境中的方法,可能还存在一些其他knitr我感兴趣的具体解决方案。

梅威瑟:

\documentclass[10pt,a4paper]{article}
\usepackage[utf8]{inputenc}
\usepackage[english]{babel}
\usepackage{alltt}
\usepackage{etoolbox}%

\begin{document}

Few words
\begin{alltt}
alltt words
\end{alltt}
something else

\begin{verbatim}
verbatim words
\end{verbatim}
and with the hack:

\makeatletter
\preto{\@verbatim}{\topsep=0pt \partopsep=0pt}
\makeatother

\begin{verbatim}
verbatim words
\end{verbatim}
the end

\end{document}

alltt 和 verbatim

答案1

没有,\@alltt但像verbatim(和大多数乳胶显示构造)alltt是一个 trivlist,因此应用相同的设置,你只需要

\preto{\alltt}{\topsep=0pt \partopsep=0pt}

相关内容