【问题标题】:Verbatim environment inside LaTeX cell?LaTeX单元内的逐字环境?
【发布时间】:2010-07-10 17:18:17
【问题描述】:

我想在 LaTeX 表中插入一些 XML,所以我认为\begin{verbatim}.. 将是保留语法的一个很好的解决方案,但它不是这样工作的:

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

我怎样才能做到这一点?

【问题讨论】:

    标签: latex


    【解决方案1】:

    你需要把它放在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 消息。

    【讨论】:

    • 不客气!您介意将答案标记为已接受吗? (看起来你根本没有这样做,常见问题解答说你应该这样做)
    • \begin{minipage}{\textwidth} 呢?
    • @CharlesL。这不会在表格中使用 DTRT。不管怎样,我似乎总是想让它至少窄一点。
    • 如何缩放逐字环境,例如 ascii 剪贴画?
    • @ItsmeJulian 请就此提出一个新问题。此外,现在最好在tex.stackexchange.com 上提出 TeX 问题。
    【解决方案2】:

    试试

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

    即,将verbatim 环境更改为p 类型列。其他解决方案是在verbatim 环境中使用multicolsminipage

    【讨论】:

      【解决方案3】:

      使用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}
      

      结果如下:

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-12-16
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多