我必须编写一个包含两列的表格,并在每列中放置小的 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
\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}