如何将 Verbatim 放入表格中的 \multicolumn 内?

如何将 Verbatim 放入表格中的 \multicolumn 内?

我需要将逐字文本放在表格单元格中,这样可以正常工作,但当我想将单元格扩展到所有列时,就会出现错误

  File ended while scanning use of \FancyVerbGetLine.

这是可以正常工作的 MWE,然后会显示出现错误的那个

\documentclass{article}
\usepackage{fancyvrb}
\begin{document}

\begin{tabular}{|p{2in}|p{2in}|}       \hline
text & text \\\hline
%
\begin{Verbatim}
verbatim text here
\end{Verbatim}
&
\\\hline
%
text & text    \\\hline
\end{tabular}
\end{document}

Mathematica 图形

但是我实际的单元格很长,并且里面有逐字记录,所以我需要将它扩展到所有列。

\documentclass{article}
\usepackage{fancyvrb}
\begin{document}

\begin{tabular}{|p{2in}|p{2in}|}       \hline
text & text \\\hline
%
\multicolumn{2}{|p{4in}|}
{
\begin{Verbatim}
  verbatim text here
\end{Verbatim}
} 
\\\hline
%
text & text    \\\hline
\end{tabular}
\end{document}

现在

pdflatex foo.tex
This is pdfTeX, Version 3.14159265-2.6-1.40.15 (TeX Live 2014) 
 restricted \write18 enabled.
entering extended mode
(./foo.tex
LaTeX2e <2014/05/01>
Babel <3.9l> and hyphenation patterns for 79 languages loaded.
(/usr/local/texlive/2014/texmf-dist/tex/latex/base/article.cls
Document Class: article 2014/09/29 v1.4h Standard LaTeX document class
(/usr/local/texlive/2014/texmf-dist/tex/latex/base/size10.clo))
(/usr/local/texlive/2014/texmf-dist/tex/latex/fancyvrb/fancyvrb.sty
Style option: `fancyvrb' v2.7a, with DG/SPQR fixes, and firstline=lastline fix 
<2008/02/07> (tvz)
(/usr/local/texlive/2014/texmf-dist/tex/latex/graphics/keyval.sty)) (./foo.aux)
! FancyVerb Error:
  Extraneous input `long text here \end {Verbatim} \@endpbox \hskip \tabcolsep 
\hskip -.5\arrayrulewidth \vrule width\arrayrulewidth \hskip -.5\arrayrulewidth
 \hbox {}\endgroup \ignorespaces ' between \begin{Verbatim}[<key=value>] and li
ne end
.
\FV@Error ... {FancyVerb Error:
\space \space #1
}

l.13 }

这听起来像是另一个环境类型问题中不允许出现的环境问题,我需要帮助解决,因为我不知道如何解决这个问题。

答案1

您不能在表格中包含逐字环境,因为您用于表格的宏将数据读取为参数文本。这意味着文本已被标记,无法通过逐字环境重新标记。

一种解决方案是直接使用\halign原始,但这可能不是您想要的。第二种解决方案是在使用表格环境之前用 verbatim 环境准备框:

\documentclass{article}
\usepackage{fancyvrb}
\newbox\verbbox
\begin{document}

\setbox\verbbox=\vbox{\hsize=4in
\begin{Verbatim}
  verbatim text here $ \ & etc.
\end{Verbatim}
}

\begin{tabular}{|p{2in}|p{2in}|}       \hline
text & text \\\hline
%
\multicolumn{2}{|c|}
{
\box\verbbox
}
\\\hline
%
text & text    \\\hline
\end{tabular}
\end{document}

相关内容