![如何将 Verbatim 放入表格中的 \multicolumn 内?](https://linux22.com/image/307865/%E5%A6%82%E4%BD%95%E5%B0%86%20Verbatim%20%E6%94%BE%E5%85%A5%E8%A1%A8%E6%A0%BC%E4%B8%AD%E7%9A%84%20%5Cmulticolumn%20%E5%86%85%EF%BC%9F.png)
我需要将逐字文本放在表格单元格中,这样可以正常工作,但当我想将单元格扩展到所有列时,就会出现错误
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}
但是我实际的单元格很长,并且里面有逐字记录,所以我需要将它扩展到所有列。
\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}