如何将逐字逐句置于环境中

如何将逐字逐句置于环境中

我有以下环境:

\documentclass{book}
\usepackage{fancyvrb}

\newenvironment{codesample}
{
\scriptsize
\begin{center}
\BVerbatim
}
{
\endBVerbatim
\end{center}
}

\begin{document}
\begin{codesample}
sdfsdfsdf
\end{codesample}
\end{document}

当我尝试使用时出现错误:

File ended while scanning use of \FancyVerbGetLine.

我怎样才能在环境中实现小而居中的逐字​​文本?像这样:

在此处输入图片描述

答案1

您应该以稍微不同的方式定义环境:声明\VerbatimEnvironment是关键。

\documentclass{book}
\usepackage{fancyvrb}

\usepackage{lipsum} % mock text

\newenvironment{codesample}
{\VerbatimEnvironment\begin{center}\begin{BVerbatim}[fontsize=\scriptsize]}
{\end{BVerbatim}\end{center}}

\begin{document}

\lipsum[1][1-4]
\begin{codesample}
sdfsdfsdf
\end{codesample}
\lipsum[1][5-7]

\end{document}

在此处输入图片描述

答案2

您在 定义中的代码codesample单独使用时运行良好。我不知道为什么在 中使用时会出现问题codesample。也许您可以在没有周围环境的情况下使用它。

% verbprob.tex  SE 576576

\documentclass{article}
\usepackage{fancyvrb}

\newenvironment{codesample}
{
%\scriptsize
\begin{center}
\scriptsize
% BVerbatim
\begin{BVerbatim}}
{%
%\endBVerbatim
\end{BVerbatim}
\end{center}
}

\begin{document}

\begin{center}
\scriptsize
\begin{BVerbatim}
x = false       // The other Boolean value
x = null
x = undefined  // Undefined is another special value like null
\end{BVerbatim}
\end{center}

Two other ...

\end{document}

\begin{codesample}
x = false
x = null
x = undefined
\end{codesample}

Two other ...
\end{document}

在此处输入图片描述

顺便说一句,您仍然没有提供 MWE。

相关内容