答案1
这是一个肮脏的伎俩,重叠“答案”并插入一个空白 wrapfig
以在“工作”文本中腾出空间。当然,您需要根据实际内容更改要重叠的行数并找到插入空白 wrapfig 环境的正确位置。
\documentclass{article}
\usepackage{tabularx,lipsum,wrapfig,parskip}
\begin{document}
\sffamily
\extrarowheight2pt
\newcolumntype{A}{p{\dimexpr.25\linewidth-2\tabcolsep}}
\newcolumntype{B}{p{\dimexpr.5\linewidth-2\tabcolsep}}
\newcolumntype{C}{p{\dimexpr.75\linewidth-2\tabcolsep}}
\newcolumntype{D}{p{\dimexpr1\linewidth-2\tabcolsep}}
\noindent\begin{tabular}{|A|A|A|A|}
\hline
\multicolumn{2}{|B}{\centering Foo} & \multicolumn{2}{|B|}{\centering Bar} \\
\hline
\multicolumn{4}{|D|}{\bfseries Assumptions}\\
\multicolumn{4}{|D|}{\lipsum[2][1-3]}\\
\hline
\multicolumn{4}{|D|}{\bfseries Work}\\
\multicolumn{4}{|D|}{
\lipsum[2][1-4]
\begin{wrapfigure}[4]{r}[-\tabcolsep]{\dimexpr.25\linewidth} % <===
\end{wrapfigure}
\lipsum[4][1-7]
\vspace{-4\baselineskip}}\\ % <===
\cline{4-4}
\multicolumn{3}{|C}{} & \multicolumn{1}{|A|}{\bfseries Answer} \\
\multicolumn{3}{|C}{} & \multicolumn{1}{|A|}{\lipsum[1][1]}\\
\hline
\end{tabular}
\end{document}
答案2
我推荐表格数组在评论中,但后来我意识到你想将单元格作为插入。在这种情况下,我推荐另一个包:好矩阵。一个优点是能够跟踪线交叉点的位置以及单元格位置。然后,您可以tikz
在这些位置插入图形。
下面的解决方案仍然需要您计算两个参数:
hangafter
hangindent
以及一些关于 的知识tikz
。
这是代码。
\documentclass{article}
\usepackage{microtype}
\usepackage{tikz}
\usepackage{nicematrix}
\usepackage[nopar]{kantlipsum}
\begin{document}
\begin{table}[tbh]
\renewcommand*{\arraystretch}{1.5}
\NiceMatrixOptions{cell-space-limits=4pt}
\centering
\caption{example}\label{tab:lab}
\begin{NiceTabular}{X[c]|X[c]}[hvlines]
Column 1 & Column 2 \\
\Block{1-2}{\parbox{\dimexpr2\hsize+2\tabcolsep}{%
\textbf{Assumptions}
\par\kant[1][1]}} \\
\Block{1-2}{\parbox{\dimexpr2\hsize+2\tabcolsep}{%
\textbf{Work}
\par\hangindent-\dimexpr0.25\linewidth+3\tabcolsep\hangafter3
\kant[1][2-5]}}
\CodeAfter\tikz
\node[
draw,
line width = 1.2pt,
inner sep = \tabcolsep,
anchor=south east,
yshift=-\arrayrulewidth,
] at (4-|3) {%
\parbox{0.25\linewidth}{%
\textbf{Answer}
\par Human reason depends on our sense perceptions of something}};
\end{NiceTabular}
\end{table}
\end{document}