我最近试图在有序列表中形成一个表格,但是,列表中的表格中有一个小的缩进,这让我抓狂了。
以下是代码片段-
\documentclass[12pt]{article}
\begin{document}
\begin{enumerate}{
\item{\begin{enumerate}
\item{
\textbf{Quantative}- mpg, displacement, cylinders, horsepower, weight, acceleration, year \\
\textbf{Qualitative}- names, origin
}
\item{
range(mpg)=[9,46.6], range(cylinders)=[3,8], ....
}
\item{
\begin{tabular}{ |c |c |c |c |c |c |c |c |c |}
\hline
& mpg & cyl. & disp. & hp & wt. & accl. & year & origin\\
\hline\hline
Mean & & & & & & & & \\
\hline
Std. dev. & & & & & & & &\\
\hline
\end{tabular}
}
\end{enumerate}
}}
\end{enumerate}
\end{document}
如图所示,第一个和第三个列表中有一个多余的空格。我该如何删除它?
谢谢!
答案1
你发现的“小凹痕”没有什么与 2 级列表中的第三项与tabular
。相反,缩进是由于字母“a”、“b”、“c”的宽度不完全相同且右对齐所致。现在,“c”恰好比“a”和“b”都窄一点。而且,如果你看非常接近,您可能会注意到“a”比“b”略窄。我想,如果列表中继续列出项目(l)
和(m)
——分别是最窄和最宽的小写字母——右对齐问题将变得相当不言而喻。
如果你实在无法忍受这种情况,我建议你(a)加载枚举项包和(b)使用选项启动 2 级枚举align=left
。
\documentclass[12pt]{article}
\usepackage{enumitem}
\begin{document}
\begin{enumerate}
\item
\begin{enumerate}[align=left] % <-- note 'align=left' option
\item
\textbf{Quantative} -- mpg, displacement, cylinders, horsepower, weight, acceleration, year \\
\textbf{Qualitative} -- names, origin
\item range(mpg)=[9,46.6], range(cylinders)=[3,8], \dots
\item
\begin{tabular}{ | *{9}{c|} }
\hline
& mpg & cyl. & disp. & hp & wt. & accl. & year & origin\\
\hline
Mean & & & & & & & & \\
\hline
Std.\ dev. & & & & & & & & \\
\hline
\end{tabular}
\end{enumerate}
\end{enumerate}
\end{document}
答案2
描述
- 我简化了你的 MWE 并用 tikz 添加了一些彩色线条。
- 如果你仔细观察,你会发现(a)似乎也没有与(b)(红线)对齐,
- 但如果你看右侧,你会看到项目与绿线右对齐。
- 这是默认设置,这样文本也能正确对齐(蓝线)。
结果
代码
\documentclass[12pt]{article}
\usepackage{tikz}
\begin{document}
\begin{enumerate}
\item
\begin{enumerate}
\item
foo
\item
bar
\item
foobar
\end{enumerate}
\end{enumerate}
\begin{tikzpicture}[remember picture,overlay]
\draw[red] ([xshift=51.5mm, yshift=-45mm] current page.north west) -- ++(0,-2);
\draw[green] ([xshift=56.1mm, yshift=-45mm] current page.north west) -- ++(0,-2);
\draw[blue] ([xshift=58.6mm, yshift=-45mm] current page.north west) -- ++(0,-2);
\end{tikzpicture}
\end{document}
答案3
编辑:
- 看到编辑后的问题变得更加清晰后,您还在困扰什么。
- 之前这个可以忽略不计的水平空间
(c)
没有插入任何表格。而且它太小了(可以忽略不计),很难观察到 - 此外,它的出现与插入的表格无关。它会出现在任何其他项目内容中,因为它是由项目标签默认右对齐引起的。
- 因此,可以通过将项目标签左对齐来消除它(正如@Mico 在他的回答中所示)。
- 所以你的问题标题(仍然)具有误导性。
无关:
- 甚至你的代码片段也不完整......
- 您在第一级中使用哪个列表(逐项列举、枚举、描述?)
- 删除项目内容周围的所有花括号。正如@dexteritas 在他的评论中提到的,˙\item` 不接受参数。
主题:
- 抱歉,但您的问题(编辑前)并不完全清楚,所以您让我们自己猜测。这对我来说很糟糕,因为我试图尽早帮助您)
- 无论如何,现在我会将您的代码片段编写如下:
\documentclass{article}
\usepackage{enumitem}
\usepackage{tabularray}
\UseTblrLibrary{booktabs}
\begin{document}
\begin{enumerate}% [align=left] ?
\item \begin{enumerate}[align=left]
\item \textbf{Quantative}- mpg, displacement, cylinders, horsepower, weight, acceleration, year \\
\textbf{Qualitative}- names, origin
\item range(mpg)=[9,46.6], range(cylinders)=[3,8], ....
\item \begin{tblr}[T]{ colspec={|*{9}{c|} }} % <--- observe T
\toprule
& mpg & cyl. & disp. & hp & wt & accl. & year & origin \\
\midrule
Mean & & & & & & & & \\
\midrule[0.1pt, dashed]
Std. dev. & & & & & & & &\\
\bottomrule
\end{tblr}
\end{enumerate}
\item ???
\end{enumerate}
\end{document}
\end{document}
但是现在出现了一个问题,第一级列表的标签应该如何对齐。例如,数字 10 应该如何对齐?也应该向左对齐吗?
如果我说对了,请告诉我!