我希望双面文档中偶数页和奇数页的标题对齐方式有所不同。
考虑以下我使用包的 MWE标题和浮行实现页边距中的图形标题。
\documentclass[twoside]{article}
\usepackage[demo]{graphicx}
\usepackage{showframe}
\usepackage[singlelinecheck=false]{caption}
\usepackage{floatrow}
\usepackage[strict]{changepage}
\floatsetup{margins=hangoutside,capposition=beside,
capbesideposition={top,outside},floatwidth=\textwidth,facing=yes}
\newcommand\rightlast{\leftskip0ptplus1fil
\rightskip0ptplus-1fil\parfillskip0ptplus1fil}
\DeclareCaptionJustification{rightlast}{\rightlast}
\ifoddpage
\captionsetup[capbesidefigure]{labelsep=newline,labelfont=bf,justification=justified}
\else
\captionsetup[capbesidefigure]{labelsep=newline,labelfont=bf,justification=rightlast}
\fi
\begin{document}
\
\clearpage
\begin{figure}[h]
\caption{test1}
\includegraphics[]{demo}
\end{figure}
\clearpage
\begin{figure}[h]
\caption{test2}
\includegraphics[]{demo}
\end{figure}
\end{document}
正常行为是合理的因此,根据 floatrow 手册,我使用了 newcommand右末使等边(左)边距标题位于正文旁边。
通过使用更改页面我尝试检查页面是否为奇数并使用合理的或甚至使用右末但它没有像我预期的那样工作。
答案1
我把奇数页检查移到了内部\rightlast
。
\documentclass[twoside]{article}
\usepackage[demo]{graphicx}
\usepackage{showframe}
\usepackage[singlelinecheck=false]{caption}
\usepackage{floatrow}
\usepackage[strict]{changepage}
\floatsetup{margins=hangoutside,capposition=beside,
capbesideposition={top,outside},floatwidth=\textwidth,facing=yes}
\newcommand\rightlast{\checkoddpage
\ifoddpage\else
\leftskip0ptplus1fil
\rightskip0ptplus-1fil\parfillskip0ptplus1fil
\fi}
\DeclareCaptionJustification{rightlast}{\rightlast}
\captionsetup[capbesidefigure]{labelsep=newline,labelfont=bf,justification=rightlast}
\begin{document}
\
\clearpage
\begin{figure}[h]
\caption{test1}
\includegraphics[]{demo}
\end{figure}
\clearpage
\begin{figure}[h]
\caption{test2}
\includegraphics[]{demo}
\end{figure}
\end{document}