\begin{verbatim}
我有被和包围的块\end{verbatim}
。我想将它们缩进大约半英寸。我正在使用 pandoc 通过 XeLaTeX 和 default.latex pandoc 模板编写 pdf,所以我不想创建新环境,而是修改 default.latex 中 verbatim 的行为,使其稍微缩进一点。
答案1
该软件包fancyvrb
具有增强的Verbatim
环境,关键在于xleftmargin
:
\documentclass{article}
\usepackage{fancyvrb}
\begin{document}
\thispagestyle{empty}
\noindent A non-verbatim line
\begin{Verbatim}[xleftmargin=.5in]
Some verbatim
lines
\end{Verbatim}
\noindent Another line
\end{document}
verbatim
此外,您可以像这样重新定义标准:
\documentclass{article}
\usepackage{fancyvrb}
\DefineVerbatimEnvironment{verbatim}{Verbatim}{xleftmargin=.5in}
\begin{document}
\thispagestyle{empty}
\noindent A non-verbatim line
\begin{verbatim}
Some verbatim
lines
\end{verbatim}
\noindent Another line
\end{document}
这与上面的结果相同
答案2
该verbatim
包有一个内部接口,允许执行此操作。必须重新定义\verbatim@processline
,并\hspace
在其开头添加一个命令:
\documentclass{article}
\usepackage{verbatim}
\newlength\myverbindent
\setlength\myverbindent{1in} % change this to change indentation
\makeatletter
\def\verbatim@processline{%
\hspace{\myverbindent}\the\verbatim@line\par}
\makeatother
\begin{document}
\noindent Unindented text followed by 1 inch indented verbatim:
\begin{verbatim}
verbatim \stuff
\and more stuff
\end{verbatim}
\setlength\myverbindent{.5in}
\noindent Unindented text followed by .5 inch indented verbatim:
\begin{verbatim}
verbatim \stuff
\and more stuff
\end{verbatim}
\end{document}
答案3
verbatim
像大多数 LaTeX 显示环境一样,它是一种list
环境,其中一个主要原因是当嵌套在其他显示环境(如quote
(或具有不同缩进的类似自定义环境))中时,它们可以做正确的事情。
\documentclass{article}
\begin{document}
X\dotfill X\\
X\dotfill X
\begin{verbatim}
%
$$
@@@
####
\end{verbatim}
X\dotfill X
\begin{quote}
\begin{verbatim}
%
$$
@@@
####
\end{verbatim}
\end{quote}
X\dotfill X
\end{document}
答案4
只要您的逐字块不跨越分页符,您就可以使用包verbatimbox
。verbbox
环境将逐字放入可以使用 调用的框中\theverbbox
。该[t]
选项确保框是支撑的,以便与上一行有适当的垂直间距。
\documentclass{article}
\usepackage{verbatimbox}
\begin{document}
\noindent Unindented text
\begin{verbbox}
This is
\verbatim text
\end{verbbox}
\theverbbox[t]
\noindent Unindented text
\end{document}