我有一张包含范围和文本框的 tikz 图片,位于主图形外面(见下图)。
我使用以下代码获得了该图:
\documentclass[10pt,a4paper,twoside]{report}
\usepackage{adjustbox}
\usepackage{tikz}
\usetikzlibrary{calc}
\begin{document}
\begin{figure}[h!]
\centering
\fbox{\begin{tikzpicture}
\node [
above right,
inner sep=0] (image) at (0,0)
{\includegraphics[width=7.00cm,height=4.01cm]{example-image-duck}};
\begin{scope}[
x={($0.1*(image.south east)$)},
y={($0.1*(image.north west)$)}]
\draw[latex-, thick,black]
(4.2,5.7) -- (-3.2,8.5)
node[above,black,fill=white, draw=black]{\small Left eye};
\end{scope}
\end{tikzpicture}}%
\adjustbox{trim={0cm 0cm 0cm 0},clip}{\usebox0}
\caption{An example image to show concept}
\end{figure}
\end{document}
然而,我想要的是整个图片围绕主要区域居中(鸭子图形本身,添加 includegraphics[width=7.00cm,height=4.01cm]{example-image-duck})。换句话说,与没有文本框和箭头时获得的居中类型相同(见下图):
浏览此网站时,我发现已经有一些针对此问题的解决方案,特别是将 TikZ 图片置于某个区域的中心并且将图形置于 tikz 的 x=0 上,而不是图形的实际中心线上。但不知为何我无法成功实现其中任何一个,这就是我向您寻求帮助的原因。
答案1
这是你想要的?
\documentclass[10pt,a4paper,twoside]{report}
\usepackage{adjustbox}
\usepackage{tikz}
\usetikzlibrary{calc}
\begin{document}
\begin{figure}[h]
\centering
\fbox{\begin{tikzpicture}
\node [inner sep=0, above right] (image) at (0,0)
{\includegraphics[width=7.00cm,height=4.01cm]{example-image-duck}};
\begin{scope}[
x={($0.1*(image.south east)$)},
y={($0.1*(image.north west)$)}]
\draw[latex-, thick,black]
(4.2,5.7) -- (-3.2,8.5)
node[above,black,fill=white, draw=black]{\small Left eye};
\end{scope}
\path ($(image.center)!-1!(current bounding box.west)$)% expand east border
($(image.center)!-1!(current bounding box.east)$);% expand west border
\end{tikzpicture}}%
\adjustbox{trim={0cm 0cm 0cm 0},clip}{\usebox0}
\caption{An example image to show concept}
\end{figure}
\end{document}