我有一张表格,第一列是多行。多行列文本超出了列。
\documentclass{article}
\usepackage[dutch]{babel}
\usepackage{ragged2e}
\usepackage{ltablex, multirow, makecell, caption}
\begin{document}
\keepXColumns\setcellgapes{3pt}\makegapedcells
\begin{tabularx}{\linewidth}{|p{25mm}|*{3}{>{\RaggedRight\arraybackslash}X|}}
\caption{My caption}
\label{my-label} \\
\hline
Onderwerp & Persoonlijk niveau & Professioneel niveau & Samenlevingsniveau \\ \hline
\multirow{4}{*}{Perspectief: Wat is het hogere doel}
& Wat is jouw hoge doel in het leven? & Wat is jouw hoge doel in je beroep? & Wat is jouw hoge doel in de samenleving? \\ \cline{2-4}
& & & x \\ \cline{2-4}
\hline
\end{tabularx}
\end{document}
当行长大于列宽(像其他列一样)时,如何让文本换行并转到下一行?
答案1
TeX 不会对段落的第一个单词进行连字符处理,因此请在单词前添加一个 0pt 空格。您还需要指定一种语言,使用英语规则对此文本进行连字符处理不会产生良好的结果。
\documentclass{article}
\usepackage{ragged2e}
\usepackage{ltablex, multirow, makecell, caption}
\begin{document}
\keepXColumns\setcellgapes{3pt}\makegapedcells
\begin{tabularx}{\linewidth}{|>{\hspace{0pt}}p{25mm}|*{3}{>{\RaggedRight\arraybackslash\hspace{0pt}}X|}}
\caption{My caption}
\label{my-label} \\
\hline
Onderwerp & Persoonlijk niveau & Professioneel niveau & Samenlevingsniveau \\ \hline
\multirow{4}{=}{Perspectief: Wat is het hogere doel}
& Wat is jouw hoge doel in het leven? & Wat is jouw hoge doel in je beroep? & Wat is jouw hoge doel in de samenleving? \\ \cline{2-4}
& & & x \\ \cline{2-4}
\hline
\end{tabularx}
\end{document}