![图形*环境在侧注包中放置错误](https://linux22.com/image/453107/%E5%9B%BE%E5%BD%A2*%E7%8E%AF%E5%A2%83%E5%9C%A8%E4%BE%A7%E6%B3%A8%E5%8C%85%E4%B8%AD%E6%94%BE%E7%BD%AE%E9%94%99%E8%AF%AF.png)
我尝试将figure*
环境与sidenotes
包一起使用,以便我的 tikzpictures 可以扩展到两个边距,因为我在许多数学教科书中都看到过这种情况,这对组织很有用。但是,当我使用环境时,figure*
tikzpictures 仅扩展到右边距,而不是左边距,因此没有足够的间距,并且相对于包括边距在内的整个页面宽度不居中。我为此示例绘制了一个粗略的 tikzpicture。(顺便说一句,根据旁注文档(3 页,6页实现),sidenotes 包需要包caption
、、、、和,marginnote
这就是为什么我的序言包含所有这些包。)以下代码l3keys2e
xparse
\usepackage[strict]{changepage}
\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage{tikz}
\usepackage[margin=2in,showframe]{geometry}
\usepackage{caption,xparse,marginnote,l3keys2e}
\usepackage[strict]{changepage}
\usepackage{sidenotes}
\title{figure* test}
\author{Devano Bethel}
\date{August 2022}
\begin{document}
\maketitle
\begin{figure*}
\centering
\begin{tikzpicture}
\draw[->] (-1,0) -- (6,0);
\draw[->] (0,-1) -- (0,4);
\foreach \y in {1,2,3,4} \draw (-5pt,\y) -- (5pt,\y);
\draw[blue] (0,2) -- (1,4) -- (2,1) -- (3,4) -- (4,1) -- (5,2);
\begin{scope}[xshift=8cm]
\draw[->] (-1,0) -- (6,0);
\draw[->] (0,-1) -- (0,4);
\foreach \y in {1,2,3,4} \draw (-5pt,\y) -- (5pt,\y);
\draw[blue] (0,2) -- (1,4) -- (2,1) -- (3,4) -- (4,1) -- (5,2);
\end{scope}
\end{tikzpicture}
\end{figure*}
\end{document}
我尝试使用\centering
,和 ,\begin{center} \end{center}
这样图片就居中了,但图片无法移动到左边距之外,它只能从左边距开始,然后移动到右边距之外。我甚至尝试使用 将 tikzpicture 向左移动\begin{tikzpicture}[xshift=-5cm]
,但仍然没有任何效果。\reversemarginpar
也没有效果。此外,我通常使用 geometry 包像这样设置我的文档:
\usepackage[right=0.5in,marginparwidth=6cm,textwidth=12.7cm]{geometry}
\reversemarginpar
这样我就可以使用sidenotes
包的marginfigure
环境将图形放在左边距中,这可以工作,但由于我将右边距设置得更小,因此它加剧了我在环境中遇到的问题figure*
。任何帮助都值得感激。
作为“旁注”(双关语),我不确定并排显示多个图表的最佳方法是使用\begin{scope}[xshift=cm]
,就像我在上面的代码中所做的那样,还是使用
\begin{tikzpicture}
...
\end{tikzpicture}
\hspace={cm}
\begin{tikzpicture}
...
\end{tikzpicture}
谢谢您的帮助,如果您需要更多信息来回答我的问题,请告诉我。
答案1
- 在单栏文章中使用
figure*
毫无意义。它的目的是让图表跨越两栏。 - 在序言中你加载了
changepage
包。为什么不使用它的宏adjustwidth
? - 人们通常允许图像(或表格)仅超出外部文本边框和左边距,以便页面绑定
- 但是,
adjustwidth
您可以使用它将图形(或表格)延伸到两个文本边框之外。
\documentclass{article}
\usepackage[margin=2in,showframe]{geometry}
\usepackage{tikz}
\usepackage[strict]{changepage}
\usepackage{sidenotes}
\usepackage{caption,xparse,marginnote,l3keys2e}
\title{figure* test}
\author{Devano Bethel}
\date{August 2022}
\begin{document}
\maketitle
\begin{figure}[ht]
\begin{adjustwidth*}{}{-\dimexpr\marginparwidth+\marginparsep}
% \rule{\linewidth}{2pt}
\centering
\begin{tikzpicture}
\draw[->] (-1,0) -- + (0.48\linewidth,0);
\draw[->] (0,-1) -- (0,4);
\foreach \y in {1,2,3,4}
\draw (-5pt,\y) -- (5pt,\y);
\draw[blue] (0,2) -- (1,4) -- (2,1) -- (3,4) -- (4,1) -- (5,2);
\begin{scope}[xshift=0.52\linewidth]
\draw[->] (-1,0) -- + (0.48\linewidth,0);
\draw[->] (0,-1) -- (0,4);
\foreach \y in {1,2,3,4}
\draw (-5pt,\y) -- (5pt,\y);
\draw[blue] (0,2) -- (1,4) -- (2,1) -- (3,4) -- (4,1) -- (5,2);
\end{scope}
\end{tikzpicture}
\caption{Use of \texttt{changepage}, figure extend only to outside margin.}
\end{adjustwidth*}
\end{figure}
\begin{figure}[ht]
\begin{adjustwidth*}{-\marginparwidth}{-\marginparwidth}
% \rule{\linewidth}{2pt}
\centering
\begin{tikzpicture}
\draw[->] (-1,0) -- (6,0);
\draw[->] (0,-1) -- (0,4);
\foreach \y in {1,2,3,4}
\draw (-5pt,\y) -- (5pt,\y);
\draw[blue] (0,2) -- (1,4) -- (2,1) -- (3,4) -- (4,1) -- (5,2);
\begin{scope}[xshift=8cm]
\draw[->] (-1,0) -- (6,0);
\draw[->] (0,-1) -- (0,4);
\foreach \y in {1,2,3,4}
\draw (-5pt,\y) -- (5pt,\y);
\draw[blue] (0,2) -- (1,4) -- (2,1) -- (3,4) -- (4,1) -- (5,2);
\end{scope}
\end{tikzpicture}
\caption{Use of \texttt{changepage}, figure extend out of both margins.}
\end{adjustwidth*}
\end{figure}
\end{document}