tufte-book에서 여백 규칙을 유지하면서 이미지가 다음 페이지로 이동합니다.

tufte-book에서 여백 규칙을 유지하면서 이미지가 다음 페이지로 이동합니다.

템플릿을 사용하고 있는데 문서 클래스에서 옵션을 tufte-book사용하고 있기 때문에 이미지가 한 페이지에서 다른 페이지로 떠다닐 때 특정한 문제가 있습니다.raggedoutermarginals

나는 이미 커뮤니티에서 이 문제에 대한 도움을 찾으려고 노력했지만 이 문제에 대한 도움을 찾기 위해 가장 정확한 용어를 사용하지 않았을 수 있으며 아직 아무것도 찾지 못했습니다… 나를 도와줄 수 있는 사람이 있습니까? 이것?

이 그림이 포함되는 코드의 일부를 보여드리겠습니다.

To summarize, in figure~\ref{fig:rank-libraries-full} one can see the current state of the implementation of Rank's libraries of \texttt{rankd-comp} for computing resources, \texttt{rankd-net} for network resources, and \texttt{rankd-time} for timing resources and \acl{tsn} configurations.

\begin{figure*}[h]
    \centering
    %\includegraphics[width=.75\columnwidth]{figs/rank-libraries.pdf}
    \missingfigure[figwidth=\textwidth]{The full integration of components and interactions within the scope of the Rank metrics gatherer libraries}
    \caption{The full integration of components and interactions within the scope of the Rank metrics gatherer libraries}
    \label{fig:rank-libraries-full} 
\end{figure*}

With all the metrics already gathered we can now assess the capabilities of a given machines towards the execution or the schedulability of a given service.

\missingfigure이미지 자리 표시자는 패키지 의 명령을 사용한 결과입니다 todonotes.

raggedouter옵션을 유지하고 이 이미지(및 문서의 나머지 부분에서 자주 발생하기 때문에 다른 이미지)가 부동 이미지가 배치되는 다음 페이지의 여백을 따르도록 할 수 있는 방법이 있습니까 ?

도와 주셔서 정말 감사합니다!

떠다니는 이미지가 불규칙한 외부 규칙을 위반하는 문제 이미지

답변1

ifoddpage 패키지를 로드하면 tufte-book이 이를 사용합니다( \oddpage@labelaux 파일에 표시됨). 그러나 해당 함수는 자신이 속한 내부가 아닌 \checkoddpage시작 부분에서 실행됩니다 . 변경 사항을 처리하려면 두 번의 실행이 필요합니다.@tufte@floatlrbox

\documentclass[symmetric,marginals=outer]{tufte-book} 
\usepackage{ifoddpage}
\usepackage{lipsum}

\makeatletter
\renewenvironment{@tufte@float}[3][htbp]%
  {% begin @tufte@float
    % Should this float be full-width or just text-width?
    \ifthenelse{\equal{#3}{star}}%
      {\gsetboolean{@tufte@float@star}{true}}%
      {\gsetboolean{@tufte@float@star}{false}}%
    % Check page side (recto/verso) and store detected value -- can be overriden in environment contents
    \stepcounter{checkoddpage}% checkoddpage come later
    \ifoddpage
      \setboolean{@tufte@float@recto}{true}\@tufte@float@debug{Detected page: [recto/odd]}% make changes local
    \else
      \setboolean{@tufte@float@recto}{false}\@tufte@float@debug{Detected page: [verso/even]}%
    \fi
    \addtocounter{checkoddpage}{-1}%
    % If the float placement specifier is 'b' and only 'b', then bottom-align the mini-pages, otherwise top-align them.
    \renewcommand{\@tufte@fps}{#1}%
    \@tufte@float@debug{Allowed positions: [#1]}%
    \ifthenelse{\equal{#1}{b}\OR\equal{#1}{B}}%
      {\renewcommand{\floatalignment}{b}\@tufte@float@debug{Presumed position: [bottom]}}%
      {\renewcommand{\floatalignment}{t}\@tufte@float@debug{Presumed position: [top]}}%
    % Capture the contents of the \caption and \label commands to use later
    \global\let\@tufte@orig@caption\caption%
    \global\let\@tufte@orig@label\label%
    \renewcommand{\caption}{\optparams{\@tufte@caption}{[][0pt]}}%
    \renewcommand{\label}[1]{\@tufte@label{##1}}%
    % Handle subfigure package compatibility
    \ifthenelse{\boolean{@tufte@packages@subfigure}}{%
      % don't move the label while inside a \subfigure or \subtable command
      \global\let\label\@tufte@orig@label%
    }{}% subfigure package is not loaded
    \@tufte@orig@float{#2}[#1]%
    \ifthenelse{\boolean{@tufte@float@star}}%
      {\setlength{\@tufte@float@contents@width}{\@tufte@fullwidth}}%
      {\setlength{\@tufte@float@contents@width}{\textwidth}}%
    \begin{lrbox}{\@tufte@figure@box}%
      \checkoddpage
      \begin{minipage}[\floatalignment]{\@tufte@float@contents@width}\hbox{}%
  }{% end @tufte@float
      \par\hbox{}\vspace{-\baselineskip}\ifthenelse{\prevdepth>0}{\vspace{-\prevdepth}}{}% align baselines of boxes
      \end{minipage}%
    \end{lrbox}%
    % build the caption box
    \begin{lrbox}{\@tufte@caption@box}%
      \begin{minipage}[\floatalignment]{\marginparwidth}\hbox{}%
        \ifthenelse{\NOT\equal{\@tufte@stored@caption}{}}{\@tufte@orig@caption[\@tufte@stored@shortcaption]{\@tufte@stored@caption}}{}%
        \ifthenelse{\NOT\equal{\@tufte@stored@label}{}}{\@tufte@orig@label{\@tufte@stored@label}}{}%
        \par\vspace{-\prevdepth}%% TODO: DOUBLE-CHECK FOR SAFETY
      \end{minipage}%
    \end{lrbox}%
    % now typeset the stored boxes
    \begin{fullwidth}%
      \begin{minipage}[\floatalignment]{\linewidth}%
        \ifthenelse{\boolean{@tufte@float@star}}%
          {\@tufte@float@fullwidth[\@tufte@caption@vertical@offset]{\@tufte@figure@box}{\@tufte@caption@box}}%
          {\@tufte@float@textwidth[\@tufte@caption@vertical@offset]{\@tufte@figure@box}{\@tufte@caption@box}}%
      \end{minipage}%
    \end{fullwidth}%
    \@tufte@orig@endfloat% end original LaTeX float environment
    % output debug info
    \ifthenelse{\boolean{@tufte@debug}}{%
      \typeout{^^J^^J----------- Tufte-LaTeX float information ----------}%
      \ifthenelse{\equal{\@tufte@stored@label}{}}%
        {\typeout{Warning: Float unlabeled!}}%
        {\typeout{Float label: [\@tufte@stored@label]}}%
      \typeout{Page number: [\thepage]}%
      \def\MessageBreak{^^J}%
      \typeout{\@tufte@float@debug@info}%
      \ifthenelse{\boolean{@tufte@symmetric}}%
        {\typeout{Symmetric: [true]}}%
        {\typeout{Symmetric: [false]}}%
      \typeout{----------------------------------------------------^^J^^J}%
    }{}%
    % reset commands and temp boxes and captions
    \gdef\@tufte@float@debug@info{}%
    \let\caption\@tufte@orig@caption%
    \let\label\@tufte@orig@label%
    \begin{lrbox}{\@tufte@figure@box}\hbox{}\end{lrbox}%
    \begin{lrbox}{\@tufte@caption@box}\hbox{}\end{lrbox}%
    \gdef\@tufte@stored@shortcaption{}%
    \gdef\@tufte@stored@caption{}%
    \gdef\@tufte@stored@label{}%
    \gsetlength{\@tufte@caption@vertical@offset}{0pt}% reset caption offset
  }
 \makeatother

\begin{document}

\rule{1em}{37\baselineskip}

To summarize, in figure~\ref{fig:rank-libraries-full} one can see the current state of the implementation of Rank's libraries of \texttt{rankd-comp} for computing resources, \texttt{rankd-net} for network resources, and \texttt{rankd-time} for timing resources and \verb|\acl{tsn}| configurations.

\begin{figure*}[h]
    \centering
    %\includegraphics[width=.75\columnwidth]{figs/rank-libraries.pdf}
    \verb|\missingfigure[figwidth=\textwidth]|{The full integration of components and interactions within the scope of the Rank metrics gatherer libraries}
    \caption{The full integration of components and interactions within the scope of the Rank metrics gatherer libraries}
    \label{fig:rank-libraries-full} 
\end{figure*}

With all the metrics already gathered we can now assess the capabilities of a given machines towards the execution or the schedulability of a given service.

\lipsum[1]
\end{document}

관련 정보