
對於雙行或半行間距的文檔,要求有單行間距的表格,如何保留表格標題和註釋的文檔間距?
在使用該類別的 MWE(從 pandoc 範本產生)中,apa6
classman
選項將文件設為 12 磅並採用雙倍間距。透過使用setspace
,etoolbox
和caption
包,我已經能夠透過對 處的拉伸因子進行硬編碼來實現所需的結果(忽略表格標題上方和表格註釋下方的間距)1.655
,我setspace.sty
在字體大小和行距的組合中找到了該拉伸因子。
但是,我正在尋找一種通用的解決方案,能夠將表格標題和註釋的行間距恢復為\baselinestretch
文件開頭的值。 (即,無論正文文字行距可能是什麼,都將應用於表格標題和註釋,而不管表格行的行距可能是什麼)。
\documentclass[man,floatsintext,noextraspace,longtable,nofontenc,nolmodern,nosf]{apa6}
% man class option sets entire document at 12pt and with double spacing
\usepackage{lipsum} % only for MWE
% \usepackage{longtable,threeparttable} % loaded by apa6
% \usepackage{etoolbox} % loaded by apa6
% \usepackage{caption} % loaded by apa6
\usepackage{setspace}
% single spaced tables excluding caption and table notes (set by pandoc variable)
\AtBeginEnvironment{longtable}{\singlespacing}
% NEED TO REPLACE: both hardcoded 1.655 values (double spacing at 12pt)
% with the \baselinestretch at the beginning of the document
\captionsetup{font={stretch=1.655}}
\AtBeginEnvironment{tablenotes}{\setstretch{1.655}}
\title{Full Title}
\author{The Author}
\shorttitle{Short Title}
\affiliation{The Institute}
\begin{document}
\maketitle
\lipsum[1]
\begin{threeparttable}
% start of pandoc generated table
\begin{longtable}[]{@{}ccc@{}}
\caption{Advantages of Various Fruits}\tabularnewline
\toprule
\begin{minipage}[b]{0.20\columnwidth}\centering
Fruit\strut
\end{minipage} & \begin{minipage}[b]{0.24\columnwidth}\centering
Price\strut
\end{minipage} & \begin{minipage}[b]{0.32\columnwidth}\centering
Advantages\tabfnm{a}\strut
\end{minipage}\tabularnewline
\midrule
\endfirsthead
\toprule
\begin{minipage}[b]{0.20\columnwidth}\centering
Fruit\strut
\end{minipage} & \begin{minipage}[b]{0.24\columnwidth}\centering
Price\strut
\end{minipage} & \begin{minipage}[b]{0.32\columnwidth}\centering
Advantages\tabfnm{a}\strut
\end{minipage}\tabularnewline
\midrule
\endhead
\begin{minipage}[t]{0.20\columnwidth}\centering
Bananas\strut
\end{minipage} & \begin{minipage}[t]{0.24\columnwidth}\centering
\$1.34\tabfnm{*}\strut
\end{minipage} & \begin{minipage}[t]{0.32\columnwidth}\centering
Built-in wrapper
and bright colour\strut
\end{minipage}\tabularnewline
\begin{minipage}[t]{0.20\columnwidth}\centering
Oranges\strut
\end{minipage} & \begin{minipage}[t]{0.24\columnwidth}\centering
\$2.10\tabfnm{**}\strut
\end{minipage} & \begin{minipage}[t]{0.32\columnwidth}\centering
Cures scurvy\tabfnm{b}
and tastes great\strut
\end{minipage}\tabularnewline
\bottomrule
\end{longtable}
% end of pandoc generated table
\begin{tablenotes}
\textit{Note.} A general note.
\tabfnt{a}{Specific note a.}
\tabfnt{b}{Specific note b.}
\tabfnt{*}{Probability note p < .05.}
\tabfnt{**}{Probability note p < .01.}
\end{tablenotes}
\end{threeparttable}
\lipsum[2]
\end{document}
答案1
以下解決方案儲存文件\baselinestretch
並恢復已儲存的\baselinestretch
標題和表格註釋。
\documentclass[man,floatsintext,noextraspace,longtable,nofontenc,nolmodern,nosf]{apa6}
% man class option sets entire document at 12pt and with double spacing
\usepackage{lipsum} % only for MWE
% \usepackage{longtable,threeparttable} % loaded by apa6
% \usepackage{etoolbox} % loaded by apa6
% \usepackage{caption} % loaded by apa6
\usepackage{setspace}
% single spaced tables excluding caption and table notes (set by pandoc variable)
\AtBeginEnvironment{longtable}{\singlespacing}
% save baselinestretch
\AtBeginDocument{\let\savedbaselinestretch\baselinestretch}
% restore saved baselinestretch
\captionsetup{font={stretch=\savedbaselinestretch}}
\AtBeginEnvironment{tablenotes}{\setstretch{\savedbaselinestretch}}
\AtEndEnvironment{tablenotes}{\setstretch{\savedbaselinestretch}}
\title{Full Title}
\author{The Author}
\shorttitle{Short Title}
\affiliation{The Institute}
\begin{document}
\maketitle
\lipsum[1]
\begin{threeparttable}
% start of pandoc generated table
\begin{longtable}[]{@{}ccc@{}}
\caption{Advantages of Various Fruits}\tabularnewline
\toprule
\begin{minipage}[b]{0.20\columnwidth}\centering
Fruit\strut
\end{minipage} & \begin{minipage}[b]{0.24\columnwidth}\centering
Price\strut
\end{minipage} & \begin{minipage}[b]{0.32\columnwidth}\centering
Advantages\tabfnm{a}\strut
\end{minipage}\tabularnewline
\midrule
\endfirsthead
\toprule
\begin{minipage}[b]{0.20\columnwidth}\centering
Fruit\strut
\end{minipage} & \begin{minipage}[b]{0.24\columnwidth}\centering
Price\strut
\end{minipage} & \begin{minipage}[b]{0.32\columnwidth}\centering
Advantages\tabfnm{a}\strut
\end{minipage}\tabularnewline
\midrule
\endhead
\begin{minipage}[t]{0.20\columnwidth}\centering
Bananas\strut
\end{minipage} & \begin{minipage}[t]{0.24\columnwidth}\centering
\$1.34\tabfnm{*}\strut
\end{minipage} & \begin{minipage}[t]{0.32\columnwidth}\centering
Built-in wrapper
and bright colour\strut
\end{minipage}\tabularnewline
\begin{minipage}[t]{0.20\columnwidth}\centering
Oranges\strut
\end{minipage} & \begin{minipage}[t]{0.24\columnwidth}\centering
\$2.10\tabfnm{**}\strut
\end{minipage} & \begin{minipage}[t]{0.32\columnwidth}\centering
Cures scurvy\tabfnm{b}
and tastes great\strut
\end{minipage}\tabularnewline
\bottomrule
\end{longtable}
% end of pandoc generated table
\begin{tablenotes}
\textit{Note.} A general note.
\tabfnt{a}{Specific note a.}
\tabfnt{b}{Specific note b.}
\tabfnt{*}{Probability note p < .05.}
\tabfnt{**}{Probability note p < .01.}
\end{tablenotes}
\end{threeparttable}
\lipsum[2]
\end{document}