
\begin{table}[h!]
\centering
\begin{tabular}{l|c |c |c |c |c |c}
1 & 2 & 3 & 4jkjhkjkhjhkjkjkjl & 5fsdsadsadasdsadsadasdsadsa & 6dasdsadasdasdasdasdsadasdsa \\
\hline
1 & 2 & 3 \\
1 & 2 & 3 \\
\end{tabular}
\caption{tes}
\label{tab:my_label}
\end{table}
出力:
「5fsdsadsadasdsadsadasdsadsa」を 2 行にするにはどうすればよいでしょうか? たとえば、次のようになります。
5fsdsadsadasd
sadsadasdsadsa
答え1
示されていません幅は4列目、5列目、6列目は、次のようになっているはずです。したがって、次のようになっていると仮定します。同じ幅さらに、表形式の資料全体の幅は\textwidth
、つまりテキスト ブロックと同じ幅であると仮定します。以下のコードでは、tabularx
環境と タイプの 3 つの列を使用していますX
。
文字列「5fsdsadsadasdsadsadasdsadsa」と「6dasdsadasdasdasdasdsadasdsa」をどこで分割するかを決定する明白な方法が (少なくとも私にとっては) ないため、文字\seqsplit
列がそれぞれのセルの幅に達するたびに強制的に改行が行われるようにマクロを使用します。
\documentclass{article}
\usepackage{tabularx,seqsplit}
\begin{document}
\begin{table}[h!]
\setlength\extrarowheight{2pt} % for a ever so slightly more open "look"
\begin{tabularx}{\textwidth}{|c |c |c |X |X |X |}
\hline
1 & 2 & 3 &
\seqsplit{4jkjhkjkhjhkjkjkjl} &
\seqsplit{5fsdsadsadasdsadsadasdsadsa} &
\seqsplit{6dasdsadasdasdasdasdsadasdsa} \\
\hline
1 & 2 & 3 & & & \\
1 & 2 & 3 & & & \\
\hline
\end{tabularx}
\caption{tes}
\label{tab:my_label}
\end{table}
\end{document}
答え2
\documentclass{article}
\begin{document}
\begin{table}[htp]% h on its own is asking for trouble
\centering
\begin{tabular}{l|c |c |c |c |c |c}
1 & 2 & 3 & 4jkjhkjkhjhkjkjkjl &
\begin{tabular}{@{}c@{}}5fsdsadsadasd\\sadsadasdsadsa\end{tabular} &
\begin{tabular}{@{}c@{}}6dasdsadasdasd\\asdasdsadasdsa\end{tabular} \\
\hline
1 & 2 & 3 \\
1 & 2 & 3 \\
\end{tabular}
\caption{tes}
\label{tab:my_label}
\end{table}
\end{document}