LaTeX细胞内的逐字环境?

时间:2010-07-10 17:18:18

标签: latex

我想在LaTeX表中插入一些 XML ,所以我认为\begin{verbatim}..将是保留语法的好方法,但它不能像这样工作:< / p>

\begin{tabular}{ ll }
   sample & 
   \begin{verbatim}
      <how>
          <to value="make" />
          <this value="work" />
      </how>
   \end{verbatim}
\end{tabular}

我该如何做到这一点?

3 个答案:

答案 0 :(得分:22)

您需要将其放在minipage内,如下所示:

\begin{tabular}{ ll }
sample &
\begin{minipage}{3in}
\begin{verbatim}
<how>
   <to value="make" />
   <this value="work" />
</how>
\end{verbatim}
\end{minipage}
\end{tabular}

不幸的是,这意味着您必须提前确定列的宽度(这就是{3in}部分的作用)。我通常从3in开始,然后向上或向下调整,直到页面看起来很好,我不再收到过多的hbox消息。

答案 1 :(得分:4)

尝试

\begin{tabular}{lp{5in}}

即,将verbatim环境更改为p类型列。其他解决方案是对multicols环境使用minipageverbatim

答案 2 :(得分:1)

使用fancyvrb包,您可以将BVerbatimbaseline=t一起使用,让LaTeX为您服务。

为方便起见,我在这里创建了一个新的逐字环境(Code):

\documentclass{article}

\usepackage{fancyvrb}
\DefineVerbatimEnvironment{Code}{BVerbatim}{baseline=t}

\begin{document}
\begin{tabular}{ ll }
    sample & 
    \begin{Code}
    <how>
    <to value="make" />
    <this value="work" />
    </how>
    \end{Code}
\end{tabular}
\end{document}

结果如下:

enter image description here