只是想创建一个表,如下所示
第一排和第二排完全没问题,但是第三排就比较难了,这种特殊的对齐方式我没办法实现。
提前致谢
答案1
我猜想该表格比较棘手的地方在于,虽然列的内容都是左对齐的,但数字——根据观点的不同——要么右对齐,要么按小数点/逗号对齐。
为了达到理想的效果,你可以使用
包
tabularx
及其列类型的修改形式X
,以生成左对齐的条目,同时自动在表头中换行,并且“幻像”在需要的地方插入空格。由于仅在第三行就出现了三次这样的需求,因此为该任务创建一个快捷宏会很方便,例如设置
\newcommand\ph{$\phantom{1}$}
。
\documentclass{article}
\usepackage{booktabs,tabularx}
\newcolumntype{Y}{>{\raggedright\arraybackslash}X}
\newcommand\ph{$\phantom{1}$} % a handy shortcut
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{newtxtext,newtxmath} % looks like the font is use is "Times Roman"
\begin{document}
\noindent
\begin{tabularx}{0.6\textwidth}{@{} YYY @{}}
\toprule
\textbf{Wellenlänge} & \textbf{Spezifische Absorption} & \textbf{Maximale Abweichung}\\
\textbf{(nm)} & $\mathbf{A}^{1\,\%}_{1\,\text{cm}}$\\
\midrule
235 & 124,5 & 122,9 -- 126,2 \\
257 & 144,5 & 142,8 -- 146,2 \\
313 & \ph48,6 & \ph47,0 -- \ph50,3 \\
350 & 107,3 & 105,6 -- 109,0 \\
\bottomrule
\end{tabularx}
\end{document}
答案2
有多种方法可以获得这种布局,其中一种由 Ian Thompson 提出,使用\phantom
,也显示在这里,或者使用额外的列,自动填充-
屏幕截图中第三逻辑列中的字符。
\documentclass[12pt]{article}
\usepackage{array}
\begin{document}
\begin{center}
\begin{tabular}{lrr}
\hline
\textbf{Wellenl\"ange} & \textbf{Spezifische} & \multicolumn{1}{l}{\textbf{Maximale}} \tabularnewline
& \textbf{Absorption} & \multicolumn{1}{l}{\textbf{Abweichung}} \tabularnewline
\textbf{(nm) } & & \tabularnewline
\hline
235 & 124,5 & 122,9 -- 126,2 \tabularnewline
257 & 144,5 & 142,8 -- 146,2 \tabularnewline
313 & 48,6 & \phantom{1}47,0 -- \phantom{1}50,3 \tabularnewline
350 & 107,3 & 105,6 -- 109,0 \tabularnewline
\hline
\end{tabular} \par
\end{center}
\begin{center}
\begin{tabular}{lrrl@{--}lr}
\hline
\textbf{Wellenl\"ange} & \textbf{Spezifische} & \multicolumn{4}{l}{\textbf{Maximale}} \tabularnewline
& \textbf{Absorption} & \multicolumn{4}{l}{\textbf{Abweichung}} \tabularnewline
\textbf{(nm) } & & \multicolumn{4}{l}{} \tabularnewline
\hline
235 & 124,5 & 122,9 & & & 126,2 \tabularnewline
257 & 144,5 & 142,8 & & & 146,2 \tabularnewline
313 & 48,6 & 47,0 & & & 50,3 \tabularnewline
350 & 107,3 & 105,6 & & & 109,0 \tabularnewline
\hline
\end{tabular}
\end{center}
\end{document}