\cline 导致奇怪的垂直“缩进”,而不是每列从顶部开始

\cline 导致奇怪的垂直“缩进”,而不是每列从顶部开始

我目前正在尝试使用它\cline来帮助我复制这个模型: 我希望实现的目标的草稿

我被难住了一段时间,最接近的复制方法是:

\documentclass{article}
\usepackage[left=0.75in,top=0.6in,right=0.75in,bottom=1.2in]{geometry}
\usepackage[utf8]{}
\usepackage{tabularx}
\usepackage[table]{xcolor}
\usepackage{tcolorbox}
\usepackage{enumitem}
\usepackage{makecell}
\usepackage{hyperref}
\usepackage{longtable,array}
\usepackage{booktabs,ragged2e}
\usepackage[default,oldstyle,scale=0.95]{opensans}
\urlstyle{sf}
\title{t}


\begin{document}
\begin{longtable}{>{\raggedright\arraybackslash}m{5.5cm}|>{\raggedright\arraybackslash}m{2.0cm} |>{\raggedright\arraybackslash}m{2.0cm}|>{\raggedright\arraybackslash}m{6.5cm}}
    \bfseries \cellcolor[gray]{.8}Column1 & 
    \bfseries \cellcolor[gray]{.8}Column2 &
    \bfseries \cellcolor[gray]{.8}Column3 & 
    \bfseries \cellcolor[gray]{.8}Notes\\ 
    \hline
    
    General Chemistry& %row 1
    -- \newline-- \newline --&\\\cline{2-2}& %row 2
    &ch121\newline ch122\newline ch123&\\\cline{3-3}&&ch231/261\newline ch232/262\newline ch233/262&
    ch121-123 available online at OSU\\\hline
    

\end{longtable}

\end{document}

生成以下表格: 在此处输入图片描述

如您所见,我希望每列的文本都从顶部开始,但使用 cline 似乎会产生奇怪的垂直缩进。例如,我希望第 2 列和第 3 列之间的水平线处于同一水平:

在此处输入图片描述

每次使用 cline 后,有没有办法“刷新”我的输入?我尝试查看 cline 手册页,例如:https://latexref.xyz/_005ccline.htmlhttps://www.giss.nasa.gov/tools/latex/ltx-214.html和其他堆栈问题都无济于事。

提前致谢。

答案1

您的根本误解是您需要为一行提供每个数据条目,然后\\结束该行,然后是任何\cline\hline命令。

您的第二个问题是您正在加载 booktabs。我真的很喜欢 booktabs,但它的文档清楚地表明,在任何情况下都不应使用垂直线,并且带有 booktabs 的表格可能无法与垂直线配合使用。

我对长表不太熟悉,但我没有看到任何影响>{\raggedright\arraybackslash},所以我把它拿出来了。

我把“普通化学”放在第 3 行。如果您确实想要它位于第 3 行和第 4 行之间,您可以使用\multirow另一个答案中的 a。

本例中不需要它,因此我把它拿出来,但除了少数例外,它hyperref应该是最后加载的包。

如果没有 booktabs,你最终会得到这样的结果:

\documentclass{article}
\usepackage[left=0.75in,top=0.6in,right=0.75in,bottom=1.2in]{geometry}
\usepackage[table]{xcolor}
\usepackage{longtable}
%\usepackage{booktabs}
\usepackage[default,oldstyle,scale=0.95]{opensans}

\begin{document}
\begin{longtable}{m{5.5cm}|m{2.0cm}|m{2.0cm}|m{6.5cm}}
    \bfseries \cellcolor[gray]{.8}Column1 & 
    \bfseries \cellcolor[gray]{.8}Column2 &
    \bfseries \cellcolor[gray]{.8}Column3 & 
    \bfseries \cellcolor[gray]{.8}Notes\\ 
    \hline
    
    & -- & ch121 & \\%row 1
    & -- & ch122 & ch121-123 available online at OSU \\%row 2
    General Chemistry & -- & ch123 \\ % row 3
    \cline{2-3}
    && ch231/261 & \\ % row 4
    && ch232/262 & \\ % row 5
    && ch233/262 & \\ % row 6
    \hline
\end{longtable}

\end{document}

看起来像: 非 booktabs 输出

booktabs 的一个基本理念是删除多余的行,减少干扰并使表格更易于理解。该包将以类似以下的方式处理表格:

\documentclass{article}
\usepackage[left=0.75in,top=0.6in,right=0.75in,bottom=1.2in]{geometry}
\usepackage[table]{xcolor}
\usepackage{longtable}
\usepackage{booktabs}
\usepackage[default,oldstyle,scale=0.95]{opensans}

\begin{document}
\begin{longtable}{m{5.5cm} m{2.0cm} m{2.0cm} m{6.5cm}}
    \toprule
    Column1 & Column2 & Column3 & Notes\\ 
    \midrule
    
    General Chemistry & -- & ch121 & ch121-123 available online at OSU \\%row 1
    & -- & ch122 & \\%row 2
    & -- & ch123 \\ % row 3
    \cmidrule{2-3}
    && ch231/261 & \\ % row 4
    && ch232/262 & \\ % row 5
    && ch233/262 & \\ % row 6
    \bottomrule
\end{longtable}

\end{document}

看起来像: booktabs 输出

\cmidrule如果看不到更多的表格,就很难判断它是否还在那里。

答案2

以下是解决您问题的方法:

\documentclass{article}
\usepackage[left=0.75in,top=0.6in,right=0.75in,bottom=1.2in]{geometry}
\usepackage{longtable}
\usepackage{multirow}
\usepackage{xcolor,colortbl}% \rowcolor

\begin{document}
\begin{longtable}{p{5.5cm}|p{2.0cm}|p{2.0cm}|p{6.5cm}}
    \rowcolor{gray!40}
    \textbf{Column1} & \textbf{Column2} & \textbf{Column3} & \textbf{Notes}\\
    \hline

    \multirow{6}*{General Chemistry} & -- & ch121 & \multirow{3}*{ch121-123 available online at OSU}\\
    & -- & ch122 & \\
    & -- & ch123 & \\
    \cline{2-3}
    & & ch231/261 & A\\
    & & ch232/262 & B\\
    & & ch233/263 & C\\
    \hline
\end{longtable}

% Use this if your table is not longer than one page.
\begin{table}
    \begin{tabular}{p{5.5cm}|p{2.0cm}|p{2.0cm}|p{6.5cm}}
        \rowcolor{gray!40}
        \textbf{Column1} & \textbf{Column2} & \textbf{Column3} & \textbf{Notes}\\
        \hline

        \multirow{6}*{General Chemistry} & -- & ch121 & \multirow{3}*{ch121-123 available online at OSU}\\
        & -- & ch122 & \\
        & -- & ch123 & \\
        \cline{2-3}
        & & ch231/261 & A\\
        & & ch232/262 & B\\
        & & ch233/263 & C\\
        \hline
    \end{tabular}
\end{table}
\end{document}

带有 \multirow 和 \cline 的表格。

相关内容