为什么此表中第一列和第二列之间的行对齐不正确?

为什么此表中第一列和第二列之间的行对齐不正确?

第一列之间的行对齐不正确。第一列中的单元格从高一行开始。我使用 overleaf,并尝试在下面制作一个最小示例。

\documentclass{article}
\usepackage[utf8]{inputenc}
% Uncomment the next line to use the natbib package with bibtex 

\usepackage{multirow}
\usepackage{adjustbox,lipsum}
\usepackage{array}
\usepackage{xcolor,colortbl,rotating,booktabs,bigstrut}
\usepackage{geometry}
\usepackage{pbox}


\begin{document}


\newgeometry{left=0.75cm,right=0.75cm,bottom=2cm}





% Table generated by Excel2LaTeX from sheet 'Sheet1'
\begin{table}[htbp]
  \centering
  \caption{Overview of effects of independent variables}
  \resizebox{\columnwidth}{!}{%
    \begin{tabular}{p{18.0em}|p{8em}|p{7.00em}|p{7.00em}}
       \toprule
        \multicolumn{1}{p{18em}|}{\pbox{7cm}{AP:some text \newline{} D: some text; some text}}  & - Higher age & Increase foregone earnings & \multicolumn{1}{p{7.215em}|}{Increase study effort} 
        \midrule
    \end{tabular}%
    }
    \label{tab:literaturereviewtable}%
\end{table}%
\restoregeometry
\end{document}

我得到的结果

在此处输入图片描述

我的问题是,文本没有在第一列和其他列中垂直对齐。

我希望你们中能有一位伟大的人可以帮助我。

最良好的问候

答案1

您在这里使用(不必要的)\pbox来设置表格中的第一个条目,默认情况下它是垂直居中,因此后续条目的基线与第一个条目的中心对齐。

它们\multicolumn{1}在这里没有帮助,只要移除它们就可以改善情况

\documentclass{article}
\usepackage[utf8]{inputenc}
% Uncomment the next line to use the natbib package with bibtex 

\usepackage{multirow}
\usepackage{adjustbox,lipsum}
\usepackage{array}
\usepackage{xcolor,colortbl,rotating,booktabs,bigstrut}
\usepackage{geometry}
\usepackage{pbox}


\begin{document}


\newgeometry{left=0.75cm,right=0.75cm,bottom=2cm}





% Table generated by Excel2LaTeX from sheet 'Sheet1'
\begin{table}[htbp]
  \centering
  \caption{Overview of effects of independent variables}
% no please never scale tables   \resizebox{\columnwidth}{!}{%
    \begin{tabular}{>{\raggedright\arraybackslash}p{18.0em}|
                    >{\raggedright\arraybackslash}p{8em}|
                    >{\raggedright\arraybackslash}p{7.00em}|
                    >{\raggedright\arraybackslash}p{7.00em}}
       \toprule
      AP:some text \newline D: some text; some text  & - Higher age & Increase foregone earnings & Increase study effort\\
        \midrule
    \end{tabular}%
%    }
    \label{tab:literaturereviewtable}%
\end{table}%
\restoregeometry
\end{document}

在此处输入图片描述

答案2

借助某些程序/插件将 Excel 表格转换为 LaTeX 表格很多时候都无法获得预期的结果。似乎在选择最适合转换表格的表格包方面存在限制,在转换后的表格中,在编写经常使用且杂乱的单元格方面也存在multicolumn{1} ...限制\parbox

是的,直接在 LaTeX 中输入表格有点困难。如果一开始看起来很有挑战性,经过几次练习后,你很快就能掌握编写表格的技巧。回报是设计更好的表格,其中的代码清晰且大多更为简洁。

例如,你的表格可以通过使用新颖的表格包来简单编写tabularray。表格的代码简单、清晰、简洁:

\documentclass{article}
\usepackage[utf8]{inputenc}
% Uncomment the next line to use the natbib package with bibtex
%\usepackage{}
%\usepackage{adjustbox}
%\usepackage{array, booktabs, multirow}
%\usepackage{xcolor,colortbl,rotating,bigstrut}

\usepackage{xcolor}
\usepackage{tabularray}
\UseTblrLibrary{booktabs}

\usepackage{geometry}
%\usepackage{pbox}

%---------------- Show page layout. Don't use in a real document!
\usepackage{showframe}
\renewcommand\ShowFrameLinethickness{0.15pt}
\renewcommand*\ShowFrameColor{\color{red}}
%---------------------------------------------------------------%

\begin{document}

\newgeometry{left=0.75cm,right=0.75cm,bottom=2cm}
    \begin{table}[htbp]
    \centering
    \caption{Overview of effects of independent variables}
    \label{tab:literaturereviewtable}
\begin{tblr}{vlines,
             colspec = {X[2.5, l] *{3}{X[1,l]} }
             }
       \toprule
{AP: some text\\
  D: some text; some text}    & - Higher age & Increase foregone earnings 
                            & Increase study effort \\
        \midrule
\end{tblr}
    \end{table}%
\restoregeometry

\end{document}

在此处输入图片描述

(红线表示页面布局)

\enumitem顺便说一句,我想知道,为什么你需要这么宽的表格。如果你要添加更实际(仍然是虚拟的)的表格内容,这里的人可能会给你额外的建议如何编写表格。例如,第二列中的内容是列表,如果对它们使用包会更好。

相关内容