如何使用现有环境创建新环境?扫描使用 \FancyVerbGetLine 时文件结束

如何使用现有环境创建新环境?扫描使用 \FancyVerbGetLine 时文件结束

我有一个可以正常工作的设置。我需要将此代码作为环境,以减少输入。当我这样做时,我收到错误。

这是原始设置

\documentclass[12pt,titlepage]{article}
\usepackage{fancybox,fancyvrb,xcolor}
\usepackage[listings,skins,breakable,xparse]{tcolorbox}

\begin{document} 

\begin{tcolorbox}[rounded corners,boxrule=.1pt,colframe=red!75!black,boxsep=2pt]%
\begin{Verbatim}
 some code here
\end{Verbatim}
\end{tcolorbox}
\end{document}

以上编译没有错误。现在我做了以下事情

\documentclass[12pt,titlepage]{article}
\usepackage{fancybox,fancyvrb,xcolor}
\usepackage[listings,skins,breakable,xparse]{tcolorbox}

\newenvironment{TEXTinline}%
{%
 \begin{tcolorbox}[rounded corners,boxrule=.1pt,colframe=red!75!black,boxsep=2pt]%
 \begin{Verbatim}
}%
{%
 \end{Verbatim}
 \end{tcolorbox}%
}%
\begin{document} 
    
\begin{TEXTinline}
some code here
\end{TEXTinline}
\end{document}

现在 lualatex main.tex 给出

(/usr/local/texlive/2022/texmf-dist/tex/latex/latexconfig/epstopdf-sys.cfg)))
Runaway argument?
! File ended while scanning use of \FancyVerbGetLine.
<inserted text> 
\par 
<*> main.tex

我认为这只与 Verbatim 有关。因此我尝试定义 Verbatim 环境调用X400,但这也没有用

\documentclass[12pt,titlepage]{article}

\usepackage{fancybox,fancyvrb,xcolor}
\usepackage[listings,skins,breakable,xparse]{tcolorbox}

\DefineVerbatimEnvironment{X400}{Verbatim}{frame=single,framerule=0.8pt,framesep=2mm}

\newenvironment{TEXTinline}%
{%
 \begin{tcolorbox}[rounded corners,boxrule=.1pt,colframe=red!75!black,boxsep=2pt]%
 \begin{X400}
}%
{%
 \end{X400}
 \end{tcolorbox}%
}%
\fi 
\begin{document} 


\begin{TEXTinline}
some code here
\end{TEXTinline}

\end{document}

同样的错误。

我记得在新环境中使用 Verbatim 时出现过这样的问题,因为 Verbatim 只想就地就位?但现在找不到解决办法。

是否可以定义上述新环境并在其中拥有 Verbatim 环境?

TL 2023

答案1

您需要添加\VerbatimEnvironment。记录不太好……

\documentclass[12pt,titlepage]{article}
\usepackage{fancybox,fancyvrb,xcolor}
\usepackage[listings,skins,breakable,xparse]{tcolorbox}

\newenvironment{TEXTinline}{%
  \VerbatimEnvironment
  \begin{tcolorbox}[rounded corners,boxrule=.1pt,colframe=red!75!black,boxsep=2pt]%
  \begin{Verbatim}%
}{%
  \end{Verbatim}%
  \end{tcolorbox}%
}

\begin{document}

\begin{TEXTinline}
some code here
\end{TEXTinline}

\end{document}

在此处输入图片描述

相关内容