乳胶表中单词之间不必要的空白

乳胶表中单词之间不必要的空白

我的代码:

\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage[table]{xcolor}
\usepackage{enumitem}
\newlist{tabitem}{itemize}{1}
\setlist[tabitem]{nosep,     
                  topsep     = 0pt,
                  partopsep  = 0pt,
                  leftmargin = *,
                  label      = \textbullet,
                  before = \vspace{-0.5\baselineskip},
                  after = \vspace{-0.5\baselineskip}}


\begin{document}
\begin{table*}[t]
\caption{XYZ}
\centering
\setlength\extrarowheight{2pt}
\setlength\arrayrulewidth{2pt}
\arrayrulecolor{white}

    \begin{tabular}{|p{35mm}| p{35mm} | p{35mm} |}
    \rowcolor{gray!40}
    \hline
    A    &   B    & V   \\

    \hline
    \rowcolor{gray!5}
          Something here very well comes& 
          \begin{tabitem}
          \item Something here verywellcomes
          \item Something here verywellcomes
          \end{tabitem} &
          \begin{tabitem}
          \item Something here very well comes
          \end{tabitem} \\


    \hline
    \rowcolor{gray!5}
          Something here very well comes& 
          \begin{tabitem}
          \item Something here verywellcomes
          \item Something here verywellcomes
          \end{tabitem} &
          \begin{tabitem}
          \item Something here very well comes
          \item Something here very well comes
          \end{tabitem} \\


  \end{tabular}
\end{table*}
\end{document}

其结果是:-

在此处输入图片描述

为什么第二列的单词之间有额外的间距?我想要左对齐的文本。我不希望它们自动扩展以通过在它们之间添加空格来填充整行。有人能建议一种方法来使文本左对齐而不是两端对齐吗?

答案1

您的文档中的环境tabular使用 3 列类型p(“段落”),并且列宽仅为 35 毫米。p-type 列中的文本行完全对齐。正如您所发现的,如果列很窄,这可能会导致不令人满意的结果,例如单词之间的间隙很大。如果单元格包含长单词(例如“verywellcomes”)而 LaTeX 找不到任何好的连字点,则此问题会变得尤为突出。

您可能应该将三列的布局改为右对齐,同时仍允许使用连字符。这可以通过在序言中添加以下两行来实现:

\usepackage{array,ragged2e}
\newcolumntype{P}[1]{>{\RaggedRight\arraybackslash}p{#1}}

并改变路线

\begin{tabular}{|p{35mm}| p{35mm} | p{35mm} |}

\begin{tabular}{|P{35mm}| P{35mm} | P{35mm} |}

当然,此修复方法假设您希望将 35 毫米保留为三列的可用宽度。

在此处输入图片描述

相关内容