如何在表格中编写程序文本

如何在表格中编写程序文本

我必须编写一个包含两列的表格,并在每列中放置小的 C 代码片段。\code{}在每列中使用 似乎非常繁琐,因为我必须 \code{}在表格的每个框中的每一行中写入内容。

\begin{table}[htp]
\caption{Possible transformations}
\begin{minipage}{\columnwidth}
\centering
{\small
\begin{tabular}{|l|l|}\hline\hline
code1           & code2 \\\hline
\code{float PI = 3.14;} & \code{constexpr double PI = 3.14;} \\\hline
\code{if(A > B) A = B } & \code{void F(T\& A, const T\& B)}\\
                & \code{\{if (A>B) A=B; \} } \\\hline
\end{minipage}
\label{tab:general-transformation}
\end{table}

我还想在每个框中输入 2-3 行代码。我该怎么做?谢谢。

答案1

您可以使用tabufancyvrb包装:

\documentclass{article}
\usepackage{fancyvrb}
\usepackage{tabu}

\begin{document}

\begin{tabu*}{XX}
\tabucline-
\Verb!&_$^#$!
& 
\Verb!___$^#$!
\\[-\normalbaselineskip]
\begin{Verbatim}
Some lines
of a long
verbatim fragment
\end{Verbatim}
&
\begin{Verbatim}
Some lines
of another long
verbatim fragment
\end{Verbatim}
\\
\tabucline-
\end{tabu*}

\end{document}

在此处输入图片描述

当然,如果你的逐字材料不需要任何特殊处理并且不包含任何特殊字符,那么你可以使用语法>{...}添加\ttfamily到列中,只需这样说:

\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage{array}
\usepackage{booktabs}

\newcolumntype{C}[1]{>{\small\ttfamily}p{#1}}

\begin{document}

\noindent\begin{tabular}{C{3cm}C{4.5cm}}
\toprule
code1 & code2 \\
\midrule
float PI = 3.14; & constexpr double PI = 3.14; \\
\midrule
if(A > B) A = B  & void F(T\& A, const T\& B) \\
& \{if (A>B) A=B; \} \\
\bottomrule
\end{tabular}

\end{document}

在此处输入图片描述

相关内容