我试图在同一页面上的某个floatrow
\ffigbox
环境中分别在两个较大图形的顶部插入一个小图像,但这样做似乎floatrow
有点问题(overpic
虽然它更容易使用,但也有同样的问题 -tikz
但大多数人似乎都在使用?)。
我能够在 floatrow 环境中添加插图,但问题是下一页的插图现在被较小的插图所取代。
我确实找到了另一个问题的答案,它看起来可能相关,但那里的答案看起来相当复杂。
我会避免使用 floatrow,但它包含在我在文档其他地方使用的另一个包中。注释掉 auto-pst-pdf 包也可以解决问题,但这也是我想使用的东西。有没有办法让所有这些一起工作?
梅威瑟:
\documentclass[11 pt]{report}
\usepackage[runs=2]{auto-pst-pdf}
\usepackage{graphicx}
\usepackage{floatrow}
\usepackage{tikz}
\begin{document}
\begin{figure}[htbp]
\centering
\begin{floatrow}
\ffigbox[\FBwidth]{%
\begin{tikzpicture}
\node[anchor=south west,inner sep=0] (image) at (0,0) {\includegraphics[width=0.9\textwidth]{images/bigimage1}};
\begin{scope}[x={(image.south east)},y={(image.north west)}]
\node[anchor=south west,inner sep=0] (image) at (0.05,0.65){\includegraphics[scale=0.8]{images/smallinset1}};
\end{scope}
\end{tikzpicture}
}%
{\caption{caption1}}
\end{floatrow}
\begin{floatrow}
\ffigbox[\FBwidth]{%
\begin{tikzpicture}
\node[anchor=south west,inner sep=0] (image) at (0,0) {\includegraphics[width=0.9\textwidth]{images/bigimage2}};
\begin{scope}[x={(image.south east)},y={(image.north west)}]
\node[anchor=south west,inner sep=0] (image) at (0.05,0.65) {\includegraphics[scale=0.8] {images/smallinset1}};
\end{scope}
\end{tikzpicture}
}%
{\caption{caption2}}
\end{floatrow}
\end{figure}
\clearpage
\begin{figure}[ht]
\centering
\includegraphics[scale=0.8]{second large figure}
\caption{wrong image appears here}
\end{figure}
\end{document}
这是我目前得到的结果:
第一页很好,图像叠加正确,但由于某种原因,图 3 被第一个插图取代。
编辑:编译时出现此错误 -
Package pst-pdf Warning: `untitled-2-pics.pdf' contains 7 pages but 3 pages are requested: File `untitled-2-pics.pdf' is no more valid! Recreate it .
查看此文件,第一个插图(小插图)出现了 6 次,而我想要的图 3 中的插图在最后一页。所以我认为这与 floatrow 调用该图像次数过多有关?
答案1
- 抱歉,你的问题不清楚,所以这里我只能猜测你的问题是什么。希望你能更清楚地解释(通过编辑你的问题),你的问题是什么
- 我假设图像存储在子文件夹中,并且
pdf
格式为 - 如果图像 3 不是所需的图像,则路径和图像名称会出现一些错误
- 因为我没有你的图片,我用
graphicx
包中的演示图片替换它
- 对于图像的放置,我简化了代码
tikzpicture
- 如你所见,我改变了大图像上的小图像。如果我的改变没有给你想要的结果,那么你可以简单地改变这个
- 图像定位的代码被简化了,
floatrow
首先figure
省略了它,因为它只影响图像的大小(因为它会缩小\FBwidth
)并且对图像没有其他影响。
\documentclass[11 pt]{report}
\usepackage[runs=2]{auto-pst-pdf}
\usepackage{floatrow}
\usepackage{graphicx}
\usepackage{tikz}
\usetikzlibrary{positioning}
\begin{document}
\begin{figure}[htbp]
\centering
\tikzset{every node/.style = {inner sep=0pt, outer sep=0pt},
node distance = 3pt and 3pt% set distance according your needs
}
%\begin{floatrow}
\ffigbox[\FBwidth]{%
\begin{tikzpicture}
\node (image) {\includegraphics[width=0.9\linewidth]{example-image-a}};%big image
\node[below right=of image.north west] {\includegraphics[scale=0.4]{example-image-b}};% small image
\end{tikzpicture}
}{\caption{caption1}}
\bigskip
\ffigbox[\FBwidth]{%
\begin{tikzpicture}
\node (image) {\includegraphics[width=0.9\linewidth]{example-image-a}};%big image
\node[below right=of image.north west] {\includegraphics[scale=0.4]{example-image-b}};% small image
\end{tikzpicture}
}{\caption{caption2}}
%\end{floatrow}
\end{figure}
\begin{figure}[ht]
\centering
\includegraphics[scale=0.8]{example-image}%big image
\caption{wrong image appears here (this i cant check because you not provide path and name of this image. my replacement for it work as expected)}
\end{figure}
\end{document}