我想创建一个包含两列的非常基本的表格。第二列应由一个单元格(多行)组成。但是,文本不会根据这个单元格进行调整。这是我的代码片段:
\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage{tabularx}
\usepackage{tabulary}
\usepackage{multirow}
\usepackage[table]{xcolor}
\begin{document}
\begin{tabulary}{\textwidth}{ | l J |}
\hline
cell1 & \cellcolor{lightgray} \\
cell2 & \multirow{-2}{*}{\cellcolor{lightgray}single cell}\\
\hline
\end{tabulary}
\end{document}
有人可以教我如何让文本适合单个单元格吗?
答案1
- 使用单元格选项
=
。multirow
在这种情况下,单元格宽度将等于列宽 tabulary
L
表格环境采用、R
和类型的列C
作为J
单元格内容的宽度,以使表格宽度小于或等于规定的表格宽度- 单元格的高度(或文本行数)
multirow
必须小于或等于其他列中跨越行的高度(或文本行数)。
MWE(最小工作示例):
\documentclass{article}\usepackage{multirow, tabulary}
\usepackage[table]{xcolor}
\usepackage{showframe}
\renewcommand\ShowFrameLinethickness{0.15pt}
\renewcommand*\ShowFrameColor{\color{red}}
\begin{document}
\noindent\begin{tabulary}{\textwidth}{ | l >{\columncolor{lightgray}}J |}
\hline
cell1 & \\
cell2 & \multirow{-2}{=}{single cell single cell single cell single cell single cell single cell single cell single}\\
\hline
\end{tabulary}
\end{document}
(红线表示文本边框)