如何在 \begin{verbatim} 中缩进代码

如何在 \begin{verbatim} 中缩进代码

我有代码。我使用了\begin{verbatim} \end{verbatim}。我的代码包含缩进来组织代码。但是verbatim没有添加空格。当我尝试使用添加垂直空格时\quad,命令\quad会按原样显示。我怎样才能在里面缩进我的代码verbatim

答案1

您可以使用fancyvrb(这是CTAN 存储库);其Verbatim环境尊重标签。

\documentclass{article}
\usepackage{fancyvrb}

\begin{document}

\begin{Verbatim}
1234567890
	12345678901234567890
		1234567890
	12345678901234567890
1234567890
\end{Verbatim}

\begin{Verbatim}[tabsize=4]
1234567890
	12345678901234567890
		1234567890
	12345678901234567890
1234567890
\end{Verbatim}

\end{document}

的默认值为8;您可以在文档前言中tabsize一次性设置它(或您想要的任何值)。\fvset{tabsize=4}

技术文档在网站上粘贴会将制表符变为空格。第二行和第四行有一个制表符,第三行有两个制表符。

在此处输入图片描述

答案2

verbatim 环境会忽略制表符,但不会忽略空格字符。如果您的代码只是一小段代码,并且您想避免使用多余的包,那么您可以使用空格键。这可能不太优雅,但由于它将以等宽字体显示,所以在我看来这并不是那么糟糕。

答案3

这里有使用该verbatimbox包的两种方法。第一种方法会分页,但在环境上方/下方添加空间。第二种方法不会分页,但可以灵活地以 LaTeX 框的方式进行操作(即,可以将 等应用于\centering框,或像这里一样将其框起来)

\documentclass{article}
\usepackage{verbatimbox,lipsum}
\begin{document}
\lipsum[1]

\begin{verbnobox}[\small\slshape\hspace{1in}]
Lorem ipsum
do\or $it amet%,
consectetuer
\end{verbnobox}

\lipsum[4]
\begin{verbbox}[\small\slshape]
Lorem ipsum
do\or $it amet%,
consectetuer
\end{verbbox}
\noindent\hspace{1in}\fbox{\theverbbox}

\lipsum[4]
\end{document}

在此处输入图片描述

答案4

在我的情况下,verbatim只有在将所有制表符切换为等量的空格后,才开始尊重缩进。初始代码和 latex 中的输出(请注意,制表符在\t此处指定):

\begin{verbatim}
\t  for i in range(len(W)): 
\t  \t  print(f'W_{i+1}(s) = {W[i]}')
\end{verbatim}

在此处输入图片描述

经过上述修改后:

\begin{verbatim}
    for i in range(len(W)): 
        print(f'W_{i+1}(s) = {W[i]}')
\end{verbatim}

在此处输入图片描述

相关内容