有什么方法可以控制子浮动的对齐方式(通过内容还是通过子标题)?也许有些方法,memoir
或者\xpatchcmd
hack 方法?
MWE(略作修改Hyperref 没有跳转到回忆录子底部的适当位置):
% !TeX program = pdflatex
\listfiles
\documentclass[a4paper,14pt,oneside,openany]{memoir}
\usepackage{graphicx}
\usepackage{hyperref}
%\usepackage[all]{hypcap}
\newsubfloat{figure} % allows to use "subbottom"
\begin{document}
This link jumps to the figure caption: \ref{fig:1}.
This link jumps to the picture (the way I like): \ref{sf:11}.
This link should jump to the picture: \ref{sf:12}. % Same with \subcaptionref{sf:12}.
This link should jump to the picture: \subcaptionref{sf:13}. % Same with \ref{sf:13}.
This link jumps to the picture (the way I like): \ref{sf:14}.
This link should jump to the picture: \ref{sf:15}.
\begin{figure}
\centerfloat{
% \hfill % uncommenting this line makes link to sf:11 jump to incorrect vertical position as well. Why?
\subbottom[Subfigure 1\label{sf:11}]{\includegraphics[width=0.35\linewidth]{example-image-a}}
\hfill
\subbottom[Subfigure 2\label{sf:12}]{\includegraphics[width=0.25\linewidth]{example-image-b}}
\hfill
\subbottom[\label{sf:13}Subfigure 3 multilined caption]{\includegraphics[width=0.25\linewidth]{example-image-c}}
\\
\subbottom[Subfigure 4\label{sf:14} multilined caption]{\includegraphics[width=0.33\linewidth]{example-image-b}}
\hfill
\subbottom[\label{sf:15}Subfigure 5]{\includegraphics[width=0.3\linewidth]{example-image-a}}
}
\legend{Some legend. This text is here to add more space for multilining.
This text is here to add more space for multilining.}
\caption{Figure with five subfigures\label{fig:1}}
\end{figure}
\clearpage
Now check subtops.
This link jumps to the figure caption: \ref{fig:2}.
This link jumps to the top of the subcaption (the way I like): \ref{sf:21}.
This link should jump to the top of the subcaption: \ref{sf:22}. % Same with \subcaptionref{sf:12}.
This link should jump to the top of the subcaption: \subcaptionref{sf:23}. % Same with \ref{sf:13}.
This link jumps to the top of the subcaption (the way I like): \ref{sf:24}.
This link should jump to the top of the subcaption: \ref{sf:25}.
\begin{figure}
\centerfloat{
% \hfill % uncommenting this line makes link to sf:11 jump to incorrect vertical position as well. Why?
\subtop[Subfigure 1\label{sf:21}]{\includegraphics[width=0.35\linewidth]{example-image-a}}
\hfill
\subtop[Subfigure 2\label{sf:22}]{\includegraphics[width=0.25\linewidth]{example-image-b}}
\hfill
\subtop[\label{sf:23}Subfigure 3 multilined caption]{\includegraphics[width=0.25\linewidth]{example-image-c}}
\\
\subtop[Subfigure 4\label{sf:24} multilined caption]{\includegraphics[width=0.33\linewidth]{example-image-b}}
\hfill
\subtop[\label{sf:25}Subfigure 5]{\includegraphics[width=0.3\linewidth]{example-image-a}}
}
\legend{Some legend. This text is here to add more space for multilining.
This text is here to add more space for multilining.}
\caption{Figure with five subfigures\label{fig:2}}
\end{figure}
\clearpage
This text is here to add more space for scrolling.
\end{document}
子底部结果(TL2019 于 2020-01-18 更新,Memoir v3.7j)— 与子标题底部对齐(但我希望它位于图形的底部):
子标题结果(TL2019 于 2020-01-18 更新,Memoir v3.7j)— 与图形底部对齐(但我希望它位于子标题的顶部或图形的顶部):
底层结果 (TL2018 已全面更新,Memoir v3.7h) — 似乎是正确的底层对齐方式:
子顶结果 (TL2018 已完全更新,Memoir v3.7h) — 看起来像是良好的子顶对齐:
如果有一个解决方案可以同时适用于这两个版本memoir
(以及\xpatchcmd
来自的超链接解决方案),那就太好了https://tex.stackexchange.com/a/466515)。