我已经使用setspace
它\spacing{1.9}
来满足出版商“每英寸 3 行或每 10 厘米 12 行”的规格,但它不会影响表格,尽管出版商要求将间距应用于表格。
我如何将此间距应用到表格中?
以下是一个例子:
\documentclass{article}
\usepackage{amsmath}
\usepackage{lipsum}
\usepackage{setspace}
\begin{document}
\begin{spacing}{1.9}
\lipsum[1]
\begin{table}[ht]
\begin{tabular}{rlll}
\hline
& col1 & col2 & col3 \\
\hline
50 & 19 & 7 & 26 \\
100 & 10 & 20 & 29 \\
150 & 1 & 7 & 2 \\
200 & 0 & 0 & 10 \\
\hline
\end{tabular}
\end{table}
\end{spacing}
\end{document}
答案1
该setspace
包恢复了正常的\baselinestretch
内部浮点数(和脚注);您可以通过重新定义来覆盖此决定\@xfloat
:
\documentclass{article}
\usepackage{amsmath}
\usepackage{setspace}
\usepackage{lipsum}
\newcommand\Factor{1.9}
\makeatletter
\def\@xfloat#1[#2]{\ifhmode \@bsphack\@floatpenalty -\@Mii\else
\@floatpenalty-\@Miii\fi\def\@captype{#1}\ifinner
\@parmoderr\@floatpenalty\z@
\else\@next\@currbox\@freelist{\@tempcnta\csname ftype@#1\endcsname
\multiply\@tempcnta\@xxxii\advance\@tempcnta\sixt@@n
\@tfor \@tempa :=#2\do
{\if\@tempa h\advance\@tempcnta \@ne\fi
\if\@tempa t\advance\@tempcnta \tw@\fi
\if\@tempa b\advance\@tempcnta 4\relax\fi
\if\@tempa p\advance\@tempcnta 8\relax\fi
}\global\count\@currbox\@tempcnta}\@fltovf\fi
\global\setbox\@currbox\vbox\bgroup
\def\baselinestretch{\Factor}\@normalsize
\boxmaxdepth\z@
\hsize\columnwidth \@parboxrestore}
\makeatother
\begin{document}
\begin{spacing}{\Factor}
\lipsum[1]
\begin{table}[ht]
\begin{tabular}{rlll}
\hline
& col1 & col2 & col3 \\
\hline
50 & 19 & 7 & 26 \\
100 & 10 & 20 & 29 \\
150 & 1 & 7 & 2 \\
200 & 0 & 0 & 10 \\
\hline
\end{tabular}
\end{table}
\end{spacing}
\end{document}
一种更短(且更安全)的可能性是使用etoolbox
包及其\AtBeginEnvironment
命令添加\doublespacing
到tabular
环境中:
\documentclass{article}
\usepackage{amsmath}
\usepackage{setspace}
\usepackage{etoolbox}
\usepackage{lipsum}
\AtBeginEnvironment{tabular}{\doublespacing}
\begin{document}
\begin{spacing}{1.9}
\lipsum[1]
\begin{table}[ht]
\begin{tabular}{rlll}
\hline
& col1 & col2 & col3 \\
\hline
50 & 19 & 7 & 26 \\
100 & 10 & 20 & 29 \\
150 & 1 & 7 & 2 \\
200 & 0 & 0 & 10 \\
\hline
\end{tabular}
\end{table}
\end{spacing}
\end{document}