我想将图片放在书的外边距中。我以前也wrapfig
这样做过,但图片在偶数页和奇数页上的对齐方式不同。在奇数页上,它们根据页面边缘对齐;在偶数页上,它们与文本本身对齐。
理想情况下,我希望数字位于页边距的中间,无论页码是奇数还是偶数。我该如何实现这一点?
这是一个最小的例子。
\documentclass[10pt]{book}
\usepackage[paperheight=11in,paperwidth=8.5in, inner=1in,includeheadfoot,textheight=9in,textwidth=345pt,marginparwidth=150pt]{geometry}
\usepackage{lipsum}
\usepackage{wrapfig}
\usepackage{tikz}
\setlength{\wrapoverhang}{\marginparwidth}
\addtolength{\wrapoverhang}{\marginparsep}
\begin{document}
\begin{wrapfigure}{o}{0pt}
\begin{tikzpicture}
\draw (0,0)--(3,0)--(3,3)--(0,3)--cycle;
\end{tikzpicture}
\caption{}\end{wrapfigure}
\lipsum[1]
\begin{wrapfigure}{o}{0pt}
\begin{tikzpicture}
\draw (0,0)--(5,0)--(5,5)--(0,5)--cycle;
\end{tikzpicture}
\caption{}\end{wrapfigure}
\lipsum[1]
\clearpage
\begin{wrapfigure}{o}{0pt}
\begin{tikzpicture}
\draw (0,0)--(3,0)--(3,3)--(0,3)--cycle;
\end{tikzpicture}
\caption{}\end{wrapfigure}
\lipsum[1]
\begin{wrapfigure}{o}{0pt}
\begin{tikzpicture}
\draw (0,0)--(5,0)--(5,5)--(0,5)--cycle;
\end{tikzpicture}
\caption{}\end{wrapfigure}
\lipsum[1]
\end{document}
答案1
一个解决方案是将图形包裹在中minipage
,并使用\centering
将图像置于其中minipage
:
\begin{wrapfigure}{o}{0pt}%
\begin{minipage}{\marginparwidth}%
\centering%
\begin{tikzpicture}
...
\end{tikzpicture}
\caption{}
\end{minipage}
\end{wrapfigure}
为了简化此过程,定义自定义环境会很有帮助,但这对 来说并不那么简单wrapfigure
。下面,我改编了提供的解决方案定义自定义“wrapfig”环境界定MyWrapFigure
:
\documentclass[10pt]{book}
\usepackage[paperheight=11in,paperwidth=8.5in, inner=1in,includeheadfoot,textheight=9in,textwidth=345pt,marginparwidth=150pt]{geometry}
\usepackage{lipsum}
\usepackage{wrapfig}
\usepackage{tikz}
\newenvironment{MyWrapFigure}{%
\wrapfigure{o}{0pt}%
\begin{minipage}{\marginparwidth}%
\centering%
}{%
\end{minipage}%
\endwrapfigure%
}
\setlength{\wrapoverhang}{\marginparwidth}
\addtolength{\wrapoverhang}{\marginparsep}
\begin{document}
\begin{MyWrapFigure}
\begin{tikzpicture}
\draw (0,0)--(3,0)--(3,3)--(0,3)--cycle;
\end{tikzpicture}
\caption{}
\end{MyWrapFigure}
\lipsum[1]
\begin{MyWrapFigure}
\begin{tikzpicture}
\draw (0,0)--(5,0)--(5,5)--(0,5)--cycle;
\end{tikzpicture}
\caption{}
\end{MyWrapFigure}
\lipsum[1]
\clearpage
\begin{MyWrapFigure}
\begin{tikzpicture}
\draw (0,0)--(3,0)--(3,3)--(0,3)--cycle;
\end{tikzpicture}
\caption{}
\end{MyWrapFigure}
\lipsum[1]
\begin{MyWrapFigure}
\begin{tikzpicture}
\draw (0,0)--(5,0)--(5,5)--(0,5)--cycle;
\end{tikzpicture}
\caption{}
\end{MyWrapFigure}
\lipsum[1]
\end{document}