开始一个新项目(讲座脚本)我想将宽图部分放入空白处。以下 MWE 显示了当前情况(非常简化)。
\documentclass[parskip=true]{scrbook}
\usepackage{calc}
\usepackage[latin1]{inputenc}
\usepackage[T1]{fontenc}
\setlength{\textwidth}{10cm}
\setlength{\marginparsep}{1cm}
\setlength{\marginparwidth}{5cm}
\begin{document}
\section*{Version 1}
foo
\rule{\textwidth}{1pt}
\begin{figure}[h]
\makebox[\textwidth]{\rule{\textwidth+\marginparsep+0.6\marginparwidth}{1cm}}
\caption{bla}
\end{figure}
bar
\newpage
foo
\rule{\textwidth}{1pt}
\begin{figure}[h]
\makebox[\textwidth]{\rule{\textwidth+\marginparsep+0.6\marginparwidth}{1cm}}
\caption{bla}
\end{figure}
bar
\newpage
\section*{Version 2}
foo
\rule{\textwidth}{1pt}
\begin{figure}[h]
\rule{\textwidth+\marginparsep+0.6\marginparwidth}{1cm}
\caption{bla}
\end{figure}
bar
\newpage
foo
\rule{\textwidth}{1pt}
\begin{figure}[h]
\rule{\textwidth+\marginparsep+0.6\marginparwidth}{1cm}
\caption{bla}
\end{figure}
bar
\end{document}
我需要图形在奇数页上左对齐,在偶数页上右对齐(这并不奇怪)。两种方法(版本 1 和 2)都无法产生此结果。
图表的宽度会有所不同,任何手动调整都是不可接受的。当然,我可以将每个图表放入一个框中,测量其宽度并根据该值进行设置。但我想知道(并希望)是否有更简单的解决方案。也许这已经在包中实现了?
答案1
您可以将 KOMA-Script 的addmargin*
环境与以下环境结合使用\ifthispageodd
:
\documentclass[parskip=true]{scrbook}
\usepackage{calc}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{mwe}
\usepackage{showframe}% visualise the page areas
\begin{document}
\section*{Version 1}
\begin{figure}[h]
\begin{addmargin*}[0pt]{-\marginparsep-\marginparwidth}
\includegraphics[width=\linewidth]{example-image-a}
\caption{bla}
\end{addmargin*}
\end{figure}
\newpage
\begin{figure}[h]
\begin{addmargin*}[0pt]{-\marginparsep-\marginparwidth}
\includegraphics[width=\linewidth]{example-image-a}
\caption{bla}
\end{addmargin*}
\end{figure}
\section*{Version 2}
\begin{figure}[h]
\begin{addmargin*}[0pt]{-\marginparsep-\marginparwidth}
\ifthispageodd{\raggedright}{\raggedleft}
\includegraphics[width=.9\linewidth]{example-image-a}
\caption{bla}
\end{addmargin*}
\end{figure}
\newpage
\begin{figure}[h]
\begin{addmargin*}[0pt]{-\marginparsep-\marginparwidth}
\ifthispageodd{\raggedright}{\raggedleft}
\includegraphics[width=.9\linewidth]{example-image-a}
\caption{bla}
\end{addmargin*}
\end{figure}
\end{document}
结果是: