我们如何才能改变长表中的行距?我使用了包setspace
和\linestretch
命令,但它不起作用。附有最小示例。
\documentclass[english]{article}
\usepackage[T1]{fontenc}
\usepackage[latin9]{inputenc}
\usepackage{array}
\usepackage{longtable}
\usepackage{float}
\usepackage{lipsum}
%\usepackage{stepspace}
\makeatletter
\providecommand{\tabularnewline}{\\}
\makeatother
\usepackage{setspace}
\usepackage{babel}
\begin{document}
\renewcommand{\baselinestretch}{.8}
\lipsum{1}
\begin{longtable}{>{\raggedright}p{135pt}>{\raggedright}p{135pt}r}
\caption{dfkg kdlfgj dfjkg dfklgj sd}
\hline
\textbf{Country} & \textbf{District} & \textbf{Amount }\textbf{\scriptsize ('000'USD)}\tabularnewline
\hline
\endhead
Afghanistan & L & 6\tabularnewline
\hline
Australia & K & 2,9\tabularnewline
\hline
Austria & I & 3\tabularnewline
\hline
Bahrain & K & 3\tabularnewline
& L & 1\tabularnewline
\hline
Belgium & K & 1\tabularnewline
& L & 2\tabularnewline
\hline
Canada & I & 99,965\tabularnewline
& K & 9\tabularnewline
& L & 1\tabularnewline
\hline
Cayman I & I & 2\tabularnewline
& Ka & 1\tabularnewline
\hline
\textbf{Grand Total} & & \textbf{2}\tabularnewline
\hline
\end{longtable}
\end{document}
答案1
首先,在 LaTeX 文档中,最好不要直接修改低级 TeX 命令,例如\baselineskip
。其次,如果您使用该setspace
软件包,请使用其\setstretch
命令 -- 或者等效地,使用命令,例如\onehalfspacing
或\doublespacing
-- 来组织整个文档部分的行距。但请注意,即使您已\onehalfspacing
为文档设置了行距,tabular
类似环境中的行距仍将是单倍行距。
要微调tabular
-like 和array
-like 环境中的行距,请从\arraystretch
命令开始。例如,要将给定环境的行距减少tabular
50%,您可以输入
\renewcommand\arraystretch{0.5}
之间。\begin{table}
\begin{tabular}{...}
为一个longtable
环境,您可以输入
\begingroup
\renewcommand\arraystretch{0.5}
\begin{longtable}{...}
% longtable headers, footers, and body
\end{longtable}
\endgroup
和\begingroup
\endgroup
作用是将本地的范围限制\renewcommand\arraystretch{0.5}
在组内。
当然,如果你想重新定义\arraystretch
具有全局或文档范围的范围,只需在序言中插入指令即可。