
Я пишу книгу, используя стиль, похожий на tufte, но реализованный с помощью memoir. (Я не хочу использовать сам tufte, так как в memoir есть много хороших функций.) Таким образом, у меня относительно узкая ширина текста, используются заметки на полях и т. д. Есть одна функция, которую я хотел бы реализовать, но не знаю как, а именно: иметь полноширинный рисунок с подписью под рисунком, на полях. Подпись на стороне memoir (MWE ниже) помещает рисунок в одну сторону, а обычное окружение рисунка помещает подпись под рисунком. Я хотел бы иметь подпись рисунка под рисунком, но на полях, как показано ниже. Имитация полноширинного окружения tufte сама по себе недостаточна. Если у кого-то есть предложения или, что еще лучше, какой-то рабочий код, я буду благодарен.
\documentclass[10pt, a4paper,openright, twoside]{memoir}
\usepackage[demo]{graphicx}
\usepackage{kantlipsum}
%
\begin{document}
\kant[1]
\begin{figure}
\setlength{\sidecapraise}{-5cm} % manual adjustment of figure caption position
\begin{sidecaption}{\kant[2]}[label]
\includegraphics[width=1.2\textwidth,height=0.5\textwidth]{dummy}
\end{sidecaption}
\vskip -6cm % manual adjustment of position of main text below figure
\end{figure}
\end{document}
решение1
Я думаю, что это можно сделать без использования sidecapraise
и, следовательно, без необходимости знать высоту изображения, эмулируя fullwidth
среду Тафте (об этом и других особенностях Тафте в мемуарах), поместив туда рисунок, а затем поместив подпись в sidepar
.
EDIT: Проблема со следующим решением заключается в том, что оно не будет правильно взаимодействовать с другим плавающим материалом на полях (заметки на полях и т. д.). Я хотел бы увидеть решение, которое делает это так, как это делают классы Тафте.
\documentclass[10pt, a4paper,openright, twoside]{memoir}
\usepackage[demo]{graphicx}
\usepackage{kantlipsum}
% emulate Tufte full-width environment
\newlength{\fullwidthlen}
\setlength{\fullwidthlen}{\marginparwidth}
\addtolength{\fullwidthlen}{\marginparsep}
\newenvironment{fullwidth}{%
\begin{adjustwidth*}{}{-\fullwidthlen}%
}{%
\end{adjustwidth*}%
}
\begin{document}
\kant[1]
\begin{figure}[t]
\begin{fullwidth}
\includegraphics[width=5pt,height=0.5\textwidth]{dummy}
\end{fullwidth}
\vspace{-\baselineskip}\vspace{-\baselineskip}
\sideparmargin{outer}
\sidepar{\vspace{\baselineskip}
\caption{Caption for a full-width figure appearing in the margin
below it.}}
\end{figure}
\end{document}
Это должно работать с рисунками, имеющими размещение "сверху" или "здесь". Используйте \vspace
для настройки вертикального интервала между рисунком, следующим за основным текстом и подписью.