我的代码:
\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 毫米保留为三列的可用宽度。