表格环境中的LaTeX列表环境:顶部的额外线条阻止对齐

时间:2010-04-09 19:05:46

标签: layout formatting latex

我有一个困扰我的LaTeX问题。我一直在尝试让列表环境在表格环境中正确显示。到目前为止,我已经得到了一切我喜欢的东西,除了一件事:列表的顶部与表中的其他条目不对齐,实际上它看起来在列表上方添加了一行...我想要这些列表在顶部。这就是我所拥有的自定义列表环境:

  \newenvironment{flushemize}{
    \begin{list}{$\bullet$}
    {\setlength{\itemsep}{1pt}
      \setlength{\parskip}{0pt}
      \setlength{\parsep}{0pt}
      \setlength{\partopsep}{0pt}
      \setlength{\topsep}{0pt}
      \setlength{\leftmargin}{12pt}}}{\end{list}}

右边重新命名:

\newcommand{\rr}{\raggedright}

这是我的表:

\begin{table}[H]\caption{Tank comparisons}\label{tab:tanks}
    \centering
    \rowcolors{2}{white}{tableShade}

    \begin{tabular}{p{1in}p{1.5in}p{1.5in}rr}

    \toprule

    {\bf Material} & {\bf Pros} & {\bf Cons} & {\bf Size} & {\bf Cost} \\

    \midrule

    \rr Reinforced concrete &\rr  \begin{flushemize}\item Strong \item Secure \end{flushemize}&\rr  \begin{flushemize}\item Prone to leaks \item Relatively expensive to install \item Heavy \end{flushemize} & 100,000 gal & \$299,400  \\

    \rr Steel & \begin{flushemize}\item Strong \item Secure \end{flushemize} & \begin{flushemize}\item Relatively expensive to install \item Heavy \item Require painting to prevent rusting \end{flushemize} & 100,000 gal & \$130,100  \\

    \rr Polypropylene & \begin{flushemize}\item Easy to install \item Mobile \item Inexpensive \item Prefabricated \end{flushemize} & \begin{flushemize}\item Relatively insecure \item Max size available 10,000 gal \end{flushemize} & 10,000 gal & \$5,000  \\

    \rr Wood & \begin{flushemize}\item Easy to install \item Mobile \item Cheap to install \end{flushemize} & \begin{flushemize}\item Prone to rot \item Must remain full once constructed \end{flushemize} & 100,000 gal &  \$86,300\\

    \bottomrule

    \end{tabular}
\end{table}

更新

感谢Little Bobby Tables和Charles Stewart的回复。我尝试了你的两个建议,但遗憾的是无法让它们发挥作用。

对于tweaklist我试过:

...
\usepackage{tweaklist}  
\renewcommand{\enumhook}{\setlength{\topsep}{0pt}
\setlength{\itemsep}{0pt}}

\begin{document}

\begin{table}[H]
\centering
\begin{tabular}{lp{2in}l}

  blah & \begin{itemize}\item One \item Two\end{itemize} & blah \\

  blah & blah & blah \\

\end{tabular}
\end{table}
...

并且我尝试了并行:

...
\usepackage{paralist}  

\begin{document}

\begin{table}[H]
\centering
\begin{tabular}{lp{2in}l}

  blah & \begin{compactitem}\item One \item Two\end{compactitem} & blah \\

  blah & blah & blah \\

\end{tabular}
\end{table}
...

如果我错过了某些内容,请尽可能地告诉我,我尽量使用随附的文档。

3 个答案:

答案 0 :(得分:0)

不幸的是,您对topsep的更改不会生效,因为在使用定义时已经使用了维度。看一下Jason Schiøtz's tweaklist package,它会调整列表环境,以便及时发生这些定义。

在我明白发生了什么之前,确实存在这个问题...

答案 1 :(得分:0)

另一种选择是使用paralist package。它是compactitem环境。可能是你想要的 - 一个紧凑的项目列表,只有很少的垂直空间,比默认环境更适合表格。

答案 2 :(得分:0)

我能够在LaTeX Stack Exchange site找到解决方案。