我在尝试在 LaTeX 环境中添加表格时遇到问题enumerate
。
我希望表格就像另一段文本一样,即\item
在enumerate
环境中恰好显示在旁边。
我目前用它来创建我的表格(M
就是有一个“数学”表格):
\begin{enumerate}[(a)]
\item
\begin{enumerate}[i.]
\item
\begin{table}[h!]
\begin{tabular}{M M|M M M M M M M}
\hline
p & q & (p & \rightarrow & q) & \rightarrow & (q & \rightarrow & p) \\ \hline
0 & 0 & ~ & 1 & ~ & 1 & ~ & 1 & ~ \\
0 & 1 & ~ & 1 & ~ & 0 & ~ & 0 & ~ \\
1 & 0 & ~ & 0 & ~ & 1 & ~ & 1 & ~ \\
1 & 1 & ~ & 1 & ~ & 1 & ~ & 1 & ~ \\
\hline
~ & ~ & ~ & ~ & ~ & \uparrow & ~ & ~ & ~ \\
\end{tabular}
\end{table}
\end{enumerate}
\end{enumerate}
但是当代码被编译时,表会出现在枚举之外。
答案1
环境table
仅仅是使用计数器的浮点数的占位符table
。但是,它可以包含任何东西 - 不一定是tabular
(实际上,即使是图像也可以)。但是在这种情况下,您不需要让浮点数tabular
,因此您应该按原样使用它:
\documentclass{article}
\usepackage{enumerate}% http://ctan.org/pkg/enumerate
\usepackage{array}% http://ctan.org/pkg/array
\newcolumntype{M}{>{$}c<{$}}
\begin{document}
\begin{enumerate}[(a)]
\item
\begin{enumerate}[i.]
\item
\begin{tabular}{M M|M M M}
\hline
p & q & (p \rightarrow q) & \rightarrow & (q \rightarrow p) \\ \hline
0 & 0 & 1 & 1 & 1 \\
0 & 1 & 1 & 0 & 0 \\
1 & 0 & 0 & 1 & 1 \\
1 & 1 & 1 & 1 & 1 \\
\hline
& \multicolumn{1}{c}{} & & \uparrow & \\
\end{tabular}
\end{enumerate}
\end{enumerate}
\end{document}
你真的不需要array
包裹这里,因为您可以将整个发布tabular
为$\begin{array}{cc|ccc}...\end{array}$
并获得相同的结果。
您可能考虑的其他套餐包括enumitem
用于列表管理和booktabs
以达到出版质量的表格构造。以下是使用上述建议的方案:
\documentclass{article}
\usepackage{enumitem}% http://ctan.org/pkg/enumitem
\usepackage{booktabs}% http://ctan.org/pkg/booktabs
\begin{document}
\begin{enumerate}[label=(\alph*)]
\item
\begin{enumerate}[label=\roman*.]
\item
$\begin{array}{c c c c c}
\toprule
p & q & (p \rightarrow q) & \rightarrow & (q \rightarrow p) \\ \midrule
0 & 0 & 1 & 1 & 1 \\
0 & 1 & 1 & 0 & 0 \\
1 & 0 & 0 & 1 & 1 \\
1 & 1 & 1 & 1 & 1 \\
\bottomrule
& \multicolumn{1}{c}{} & & \uparrow &
\end{array}$
\end{enumerate}
\end{enumerate}
\end{document}
垂直对齐也可以使用 或 的可选参数进行调整。[t]
这[b]
会将结构与op 或bottom 行/行对齐。tabular
array
t
b