图形*环境在侧注包中放置错误

图形*环境在侧注包中放置错误

我尝试将figure*环境与sidenotes包一起使用,以便我的 tikzpictures 可以扩展到两个边距,因为我在许多数学教科书中都看到过这种情况,这对组织很有用。但是,当我使用环境时,figure*tikzpictures 仅扩展到右边距,而不是左边距,因此没有足够的间距,并且相对于包括边距在内的整个页面宽度不居中。我为此示例绘制了一个粗略的 tikzpicture。(顺便说一句,根据旁注文档(3 页,6页实现),sidenotes 包需要包caption、、、、和,marginnote这就是为什么我的序言包含所有这些包。)以下代码l3keys2exparse\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}

在此处输入图片描述

相关内容