![表格单元格内的换行符](https://linux22.com/image/316100/%E8%A1%A8%E6%A0%BC%E5%8D%95%E5%85%83%E6%A0%BC%E5%86%85%E7%9A%84%E6%8D%A2%E8%A1%8C%E7%AC%A6.png)
我需要在其中一个列标题中添加换行符。我尝试使用之前帖子中的建议,但由于列标题是一个等式,我无法使用它们。我需要在第 4 列的列标题中添加换行符,如下所示:-
我写的代码是:
\begin {table}[h]
\begin{center}
\begin{tabular}{|l|l|l|l|}
\hline
$i$ & $Degree \phi_i$ & $\cos(\phi_i)$ & Product of $\cos(\phi_i)\par K=\prod K_i=\prod\cos(\phi_i)$ \\
\end{tabular}
\end{center}
\end {table}
提前致谢
答案1
您始终可以将一个表格放在另一个表格内:
\documentclass{article}
\begin{document}
\begin {table}[h]
\begin{center}
\begin{tabular}{|l|l|l|l|}
\hline
$i$ & Degree $\phi_i$ & $\cos(\phi_i)$ &\begin{tabular}{@{}l} Product of $\cos(\phi_i)$\\$ K=\prod K_i=\prod\cos(\phi_i)$
\end{tabular} \\
\end{tabular}
\end{center}
\end {table}
\end{document}
(请注意美元符号的不同用法)。
答案2
我建议使用该makecell
包。它允许在列标题和单元格中的换行符中使用通用格式。此外,没有垂直线,您的表格看起来会更好。该booktabs
包定义了具有可变厚度的水平规则,并在这些规则周围设置了一些垂直填充。我center
用一个简单的指令替换了环境(在表格周围添加垂直间距)\centering
。最后,同样重要的siunitx
是,该包可用于对数字列进行精细格式化。
\documentclass[twoside]{report}
\usepackage{booktabs}
\usepackage{siunitx}
\sisetup{ table-format=1.8,table-number-alignment=center}
\usepackage{makecell}
\usepackage{cellspace}
\setcellgapes[t]{3pt}
\setcellgapes[b]{1pt}
\renewcommand\theadfont{\bfseries\boldmath}
\begin{document}
\begin {table}[h]
\centering\makegapedcells
%\begin{tabular}{|l|S[table-format=2.8]|*{2}{S|}}
%\hline
\begin{tabular}{lS[table-format=2.8]*{2}{S}}
\toprule
{\thead{$i$}} & {\thead{Degree $\phi_i$}} & {\thead{$\cos(\phi_i)$}} & {\thead{Product of $\cos(\phi_i) $ \\ $K=\prod K_i=\prod\cos(\phi_i)$}} \\
\midrule
1 & 45.00000000 & 0.70710700 & 0.70710678 \\
2 & 26.56505118 & 0.89442700 & 0.63245553 \\
3 & 14.03624347 & 0.97014300 & 0.60883391 \\
4 & 7.12501635 & 0.99227800 & 0.60764826 \\
\bottomrule
\end{tabular}
\end {table}
\end{document}
答案3
在这种情况下,一个简单的左对齐堆栈就可以了。我还在堆栈上方/下方添加了一个垂直缓冲区,以使水平线偏移超过默认值。
\documentclass{article}
\usepackage{stackengine}
\begin{document}
\begin {table}[h]
\begin{center}
\begin{tabular}{|l|l|l|l|}
\hline
$i$ & Degree $\phi_i$ & $\cos(\phi_i)$ & \def\stackalignment{l}
\addstackgap[2pt]{%
\stackunder{Product of $\cos(\phi_i)$}{$K=\prod K_i=\prod\cos(\phi_i)$}} \\
\hline
\end{tabular}
\end{center}
\end {table}
\end{document}
只需改变宏\stackunder
就可以\stackanchor
将堆栈的垂直对齐方式更改为居中配置: