tufte:同一页上的两个表格

tufte:同一页上的两个表格

我有两个表格,它们约占页面高度的 40%。 这两个表格是相关的,应该保留在同一页面上。 因此,我将这两个表格放在一个迷你页面中,并使其浮动。

\documentclass{tufte-book}
\usepackage{booktabs,tabularx,cleveref,lipsum}
\usepackage{capt-of}

%% get fullwidth length
\makeatletter
\newlength{\fullwidthlength}
\AtBeginDocument{\setlength{\fullwidthlength}{\@tufte@fullwidth}}
\makeatother

%% custom floating environment
% this puts the minipage on a separate page
\usepackage{float}
\newfloat{floatingminipage}{p}{fm}[section]

\begin{document}
\begin{floatingminipage}
\begin{minipage}{\fullwidthlength}\centering
    \begin{tabularx}{.95\linewidth}{XX}
    \toprule
    1 & 2 \\
    \bottomrule
    \end{tabularx}
    \captionof{table}{Lorem ipsum dolor sit amet, consectetur adipiscing elit.}
    \label{tbl:one} 

\vspace*{2cm}   

    \begin{tabularx}{.95\linewidth}{XX}
    \toprule
    1 & 2 \\
    \bottomrule
    \end{tabularx}
    \captionof{table}{Cras sodales pharetra ultrices. Morbi suscipit malesuada neque sit amet laoreet. See \cref{tbl:one}}
    \label{tbl:two} 

\end{minipage} 
\end{floatingminipage}
\end{document}

在此处输入图片描述

唯一的问题是我无法让标题\marginparwidth位于表格正下方的空白处。我尝试了以下方法

\usepackage{xparse}
\let\latexCaptionOf\captionof
% arguments:
% #1 short caption
% #2 offset
% #3 figure type (table, figure)
% #4 caption text
\RenewDocumentCommand{\captionof}{o O{0mm} m m}{%
    \begin{minipage}[b]{\linewidth}\par\hfill\raisebox{#2}[\height]{%
            \begin{minipage}[b]{\marginparwidth}%
                \IfValueTF{#1}{\latexCaptionOf{#3}[#1]{#4}}%
                {\latexCaptionOf{#3}{#4}}%
            \end{minipage}}%
        \end{minipage}% 
}%

但标签不再得到解析,只是显示??

在此处输入图片描述

我不知道我的方法是否合理,如果有更好的解决方案,欢迎提出。我只需要将这两个表放在同一个浮动页面上,这样标签就可以解析了。

相关内容