我有以下环境:
\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。