如何将具有固定列宽的长表列中的文本向右对齐?

如何将具有固定列宽的长表列中的文本向右对齐?

如何将最后一列中的文本向右对齐?我检查了几个类似的问题,它们都使用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}

相关内容