我想排版一个表格并使用下面的代码。
\documentclass{article}
\begin{document}
\begin{table}[h]
\centering
\begin{tabular}{|p{9.0cm}|p{1.5cm}|}
\hline
User-agent string & dummy\\
\hline
Googlebot (compatible; Googlebot/2.1; +http://www.google.com/bot.html)&10\\
Googlebot-Mobile/2.1&15\\
Googlebot/2.1 (+http://www.google.com/bot.html)&20\\
Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)&40\\
Mozilla/5.0 (compatible; Googlebot/2.1;+http://www.google.com/bot.html)&50\\
\hline
\end{tabular}
\end{table}
\end{document}
我的表格如下所示。
如何删除每行文本中不必要的间距?
答案1
确保加载array
包并替换p{9.0cm}
为>{\raggedright}p{9.0cm}
:
\documentclass{article}
\usepackage{array}
\begin{document}
\begin{table}[h]
\centering
\begin{tabular}{|>{\raggedright}p{9.0cm}|p{1.5cm}|}
\hline
User-agent string & dummy\\
\hline
Googlebot (compatible; Googlebot/2.1; +http://www.google.com/bot.html)&10\\
Googlebot-Mobile/2.1&15\\
Googlebot/2.1 (+http://www.google.com/bot.html)&20\\
Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)&40\\
Mozilla/5.0 (compatible; Googlebot/2.1;+http://www.google.com/bot.html)&50\\
\hline
\end{tabular}
\end{table}
\end{document}
如果您有几张表的列中有很长的行需要换行,并且需要设置为右对齐,您可能需要在序言中(加载包后array
)提供以下命令:
\newcolumntype{P}[1]{>{\raggedright\arraybackslash}p{#1}}
P
并在 的定义中使用tabular
,比如说,
\begin{tabular}{|P{9.0cm}|p{1.5cm}|}
该宏的一个特点\raggedright
是它不允许在其范围内使用连字符。如果您需要连字符,您ragged2e
还应该加载包并定义一个名为的列类型,例如Q
:
\newcolumntype{Q}[1]{>{\RaggedRight\arraybackslash}p{#1}}
答案2
Mico 抢先了一步,因此我将发布另一个选项,一种快速而粗糙的方法来获得相同的结果 - 如果这是唯一具有这种间距问题的表格并且您不想加载另一个包,那么它可能很有用。
\par
您只需插入换行符并模仿即可\raggedright
:
\documentclass{article}
\begin{document}
\begin{table}[h]
\centering
\begin{tabular}{|p{9.0cm}|p{1.5cm}|}
\hline
User-agent string & dummy\\
\hline
Googlebot (compatible; Googlebot/2.1; \par +http://www.google.com/bot.html)&10\\
Googlebot-Mobile/2.1&15\\
Googlebot/2.1 (+http://www.google.com/bot.html)&20\\
Mozilla/5.0 (compatible; Googlebot/2.1;\par +http://www.google.com/bot.html)&40\\
Mozilla/5.0 (compatible; Googlebot/2.1;\par+http://www.google.com/bot.html)&50\\
\hline
\end{tabular}
\end{table}
\end{document}
它给出了完全相同的结果,但有点像黑客行为——Mico 的答案是“正确”的。