表格单元格的垂直对齐和定义列宽

表格单元格的垂直对齐和定义列宽

我目前正在尝试构建一个 Excel 应用程序,该应用程序可以从 Excel 中的选择区域为表格编写乳胶代码。本质上,用户在 Excel 中选择他们的表格,单击按钮,表格的乳胶代码就会写入本地文本文件和剪贴板。

我在处理所有水平和垂直边框、水平对齐和缩进方面取得了很大进展,但在处理垂直对齐和固定列宽方面却遇到了麻烦。我在定义表格环境时使用了数组包和“m”,但它似乎与\multicolumn我在代码中使用的函数不兼容。

我附上了 excel 表格、自动生成的 latex 表格和以下代码的屏幕截图。当然,由于整个过程都是自动化的,latex 可能会比它所能达到的更复杂(改为单个单元格水平边框,因为该过程必须完全动态。此外,表格相当愚蠢,因为我尝试随机合并和边框来测试代码的能力……

任何建议都很好。

在此处输入图片描述

\documentclass{article}

\usepackage{multirow}
\usepackage{array}

\begin{document}

\newcommand*{\MyIndent}{\hspace*{0.5cm}}
\begin{table}[]
\centering
\label{my-label}
\begin{tabular}{m{5cm} m{1cm} m{1cm} m{1m} m{1cm} m{1cm} }

\multicolumn{2}{c}{1} & \multicolumn{1}{c}{2} & \multicolumn{1}{c|}{3} & \multicolumn{1}{c|}{4} & \multicolumn{1}{c}{5}\\ 
 \cline{1-1} \cline{2-2} \cline{3-3} \cline{4-4} \cline{5-5} \cline{6-6}
\multicolumn{1}{l||}{ 1} & \multicolumn{1}{c}{1} & \multicolumn{1}{c}{2} & \multicolumn{1}{c}{3} & \multicolumn{2}{c}{4}\\ 
 \cline{1-1} \cline{2-2} \cline{3-3} \cline{4-4} \cline{5-5} \cline{6-6}
\multicolumn{1}{l||}{\MyIndent 2} & \multicolumn{2}{c||}{3} & \multicolumn{1}{c||}{} & \multicolumn{1}{c|}{6} & \multicolumn{1}{c}{7}\\ 
 \cline{1-1} \cline{2-2} \cline{3-3} \cline{4-4} \cline{5-5} \cline{6-6}
\multicolumn{1}{l||}{\MyIndent\MyIndent 3} & \multicolumn{1}{c}{5} & \multicolumn{1}{c}{6} & \multicolumn{1}{c|}{7} & \multicolumn{2}{c}{8}\\  \cline{1-1} \cline{2-2} \cline{3-3} \cline{4-4} \cline{5-5} \cline{6-6}
\end{tabular}
\caption{My caption}
\end{table}


\end{document}

相关内容