我对在表格中创建一条垂直线的方法很感兴趣,该垂直线跨越一系列行,但不是所有行。我在下面找到了一个解决方案,但是是否有其他解决方案,例如\cline
允许您指定希望水平线跨越哪些列?
http://www.latex-community.org/forum/viewtopic.php?f=45&t=3849
跨越所有行的垂直线
\documentclass[a4paper]{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\begin{document}
\begin{tabular}{c c|c c c c|}
\multicolumn{2}{c}{} & Piano & Trumpet & Flute & Viola\\
\multicolumn{2}{c}{}& \textbf{pno} & \textbf{tpt} & \textbf{flt} & \textbf{vla}\\
\cline{3-6}
Piano & \textbf{pno} & 0 & 0.5 & 0.25 & 0.75\\
Trumpet & \textbf{tpt} & 0 & 0 & 0.25 & 0.5\\
Flute & \textbf{flt} & 0 & 0 & 0 & 0.75\\
Viola & \textbf{vla} & 0& 0 & 0 & 0\\
\cline{3-6}
\end{tabular}
\end{document}
跨越多行的垂直线
\documentclass[a4paper]{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\begin{document}
\begin{tabular}{c c|c c c c|}
\multicolumn{2}{c}{} & Piano & Trumpet & Flute & \multicolumn{1}{c}{Viola}\\
\multicolumn{2}{c}{}& \textbf{pno} & \textbf{tpt} & \textbf{flt} & \multicolumn{1}{c}{\textbf{vla}}\\
\cline{3-6}
Piano & \textbf{pno} & 0 & 0.5 & 0.25 & 0.75\\
Trumpet & \textbf{tpt} & 0 & 0 & 0.25 & 0.5\\
Flute & \textbf{flt} & 0 & 0 & 0 & 0.75\\
Viola & \textbf{vla} & 0& 0 & 0 & 0\\
\cline{3-6}
\end{tabular}
\end{document}
答案1
我最近一直在参考 easybmat 包,由于没有其他答案,我将再次参考。easybmat 的问题在于它必须位于 mathmode 内部...因此您必须在\text{}
每个单元格或列定义中用 换行。但是,使用 BMAT,您可以放置任何您喜欢的行:
$\begin{BMAT}[5pt]{|ccccc|}{|cccc|}
* & * & * & * & * \\
* & * & * & * & * \\
* & * & * & * & * \\
* & * & * & * & *
\addpath{(1,1,0)ruld}
\addpath{(4,3,;)lldrrdll}
\end{BMAT} $
生成: