如何将最后一列中的文本向右对齐?我检查了几个类似的问题,它们都使用tabularx
。但是,我希望仅使用,因为我的表格跨越多页。我尝试在下面的代码中longtable
使用而不是,它可以完成工作但同时引发编译错误。请帮忙!谢谢r{0.15\textwidth}
p
\begin{longtable}[H]{p{0.07\textwidth} p{0.78\textwidth} p{0.15\textwidth}}
\toprule
& & \multicolumn{1}{r}{\# of firm-years} \\
\midrule
\end{longtable}
答案1
您可以定义一个新列为
\newcolumntype{R}{>{\raggedleft\arraybackslash}p{3cm}}
妇女权利委员会:
\documentclass{article}
\usepackage{lipsum}
\usepackage{longtable}
\usepackage{booktabs}
\usepackage{array}
\newcolumntype{R}{>{\raggedleft\arraybackslash}p{6cm}}
%
\begin{document}
\begin{longtable}{Rp{8cm}}\toprule
col1 & col2 \\\midrule
\lipsum[1] & \lipsum[2] \\ \bottomrule
\end{longtable}
\end{document}
答案2
如果您处理的是短条目而不是段落,只需使用 使一个条目足够宽即可\makebox
。
\documentclass{article}
\usepackage{longtable}
\usepackage{booktabs}
\usepackage{showframe}% MWE only
\newlength{\tablewidth}
\begin{document}
\setlength{\tablewidth}{\dimexpr \textwidth - 6\tabcolsep}% avaiable space for table entries
\begin{longtable}{p{0.07\tablewidth} p{0.78\tablewidth} r}
\toprule
& & \makebox[0.15\tablewidth][r]{\# of firm-years} \\
\midrule
\end{longtable}
\end{document}