我目前正在尝试构建一个 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}