楼主: oliyiyi
6136 468

【回复有奖】如何在LaTeX中关联多幅图像 [推广有奖]

回帖奖励 140 个论坛币 回复本帖可获得 10 个论坛币奖励! 每人限 5 次(中奖概率 10%)

版主

大师

83%

还不是VIP/贵宾

-

TA的文库  其他...

计量文库

威望
6
论坛币
618353 个
学术水平
1307 点
热心指数
1415 点
信用等级
1218 点
经验
324032 点
帖子
8524
精华
66
在线时间
4808 小时
注册时间
2007-5-21
最后登录
2018-11-15

初级学术勋章 初级热心勋章 初级信用勋章 中级信用勋章 中级学术勋章 中级热心勋章 高级热心勋章 高级学术勋章 高级信用勋章 特级热心勋章 特级学术勋章 特级信用勋章

oliyiyi 发表于 2016-3-28 10:02:28 |显示全部楼层

在论文写作中插图时,时常需要对插入图片的细节进行说明,此时通常采用的做法是对图像局部进行放大,并将细节图再与原图进行关联。该问题用语言描述较为困难,具体可看如下的效果图

在 LaTeX 中如何实现该效果呢?从该图可以看出,实现该效果可以通过以下三步完成:

  • 插入原图,并绘制标注框。
  • 插入局部放大子图。
  • 绘制局部图与标志区域关联线。

其中最为关键的技术点是在插入的图像上绘图,很幸运,在个问题在ddswhu的之前的博文 借助 TikZ 在已有的图上绘图中已有说明,本文就不做详细解释。根据以上说明,解决该问题代码可以分为三部分:


  1. \documentclass{article}
  2. \usepackage{mwe,subcaption,tikz}
  3. %\usepackage{subfigure}
  4. \tikzset{boximg/.style={remember picture,red,thick,draw,inner sep=0pt,outer sep=0pt}}

  5. \begin{document}
  6.         \begin{figure}
  7.                  \centering
  8.                          %插入原图
  9.                          \begin{subfigure}{.55\linewidth}
  10.                            \begin{tikzpicture}[boximg]
  11.                            \node[anchor=south west] (img) {\includegraphics[width=\linewidth]{example-image}};
  12.                                    \begin{scope}[x={(img.south east)},y={(img.north west)}]
  13.                        % 建立相对坐标系,辅助标注框定位
  14.                        \draw[help lines,xstep=.1,ystep=.1] (0,0) grid (1,1);
  15.                               \foreach \x in {0,1,...,9} { \node [anchor=north] at (\x/10,0) {0.\x}; }
  16.                        \foreach \y in {1,...,9} { \node [anchor=east] at (0,\y/10) {0.\y}; }
  17.                                    \end{scope}

  18.                                    \begin{scope}[x=(img.south east),y=(img.north west)]
  19.                        \node[draw,minimum height=1.6cm,minimum width=1.00cm] (B1) at (0.2,0.60) {};
  20.                        \node[draw,minimum height=0.8cm,minimum width=0.50cm] (B2) at (0.7,0.25) {};
  21.                        \node[draw,minimum height=0.4cm,minimum width=0.25cm] (B3) at (0.9,0.10) {};
  22.                                    \end{scope}
  23.                            \end{tikzpicture}
  24.                    \caption{}
  25.                          \end{subfigure}\\[0.5\baselineskip]

  26.                          %插入图片局部放大图
  27.                          \begin{subfigure}{.55\linewidth}
  28.                            \begin{tikzpicture}[boximg]
  29.                                      \node (img1) {\includegraphics[width=0.3\linewidth]{example-image-10x16}};
  30.                                      \draw (img1.south west) rectangle (img1.north east);
  31.                            \end{tikzpicture}\hfill%
  32.                            \begin{tikzpicture}[boximg]
  33.                                      \node (img2) {\includegraphics[width=0.3\linewidth]{example-image-10x16}};
  34.                                      \draw (img2.south west) rectangle (img2.north east);
  35.                            \end{tikzpicture}\hfill%

  36.                            \begin{tikzpicture}[boximg]
  37.                                      \node (img3) {\includegraphics[width=0.3\linewidth]{example-image-10x16}};
  38.                                      \draw (img3.south west) rectangle (img3.north east);
  39.                            \end{tikzpicture}
  40.                           \caption{}
  41.                          \end{subfigure}

  42.                  % 绘制连接性
  43.         \begin{tikzpicture}[overlay,boximg]
  44.                    \draw (B1) -- (img1);
  45.                    \draw (B2) -- (img2);
  46.                    \draw (B3) -- (img3);
  47.                  \end{tikzpicture}
  48.          \caption{Connection to Subfigure}
  49. \end{figure}
  50. \end{document}
复制代码

效果如图:

解决该问题的主要方法是,将插入的图片,以及标注框都在tikz中绘制为node,再通过绘制不同node的连线来关联图像。另外,在文中在绘制标注框时,为了方便确定标注框的位置,绘制了网格线辅助绘图,在绘制完毕后可以删除。

参考博文

借助 TikZ 在已有的图上绘图
How to add a zoombox effect to different images?

选自:http://wangmurong.org.cn/2015/04/29/how-to-connect-subfigure/


关键词:LaTeX Late atex LAT ATE

已有 1 人评分学术水平 热心指数 信用等级 收起 理由
janyiyi + 3 + 3 + 3 精彩帖子

总评分: 学术水平 + 3  热心指数 + 3  信用等级 + 3   查看全部评分

缺少币币的网友请访问有奖回帖集合
http://bbs.pinggu.org/thread-3990750-1-1.html
stata SPSS
土八路 发表于 2016-3-28 10:06:42 |显示全部楼层
可以学习
已有 1 人评分论坛币 收起 理由
oliyiyi + 20 沙发奖励

总评分: 论坛币 + 20   查看全部评分

回复

使用道具 举报

pzh_hzp 发表于 2016-3-28 10:08:18 |显示全部楼层

回帖奖励 +10 个论坛币

回复

使用道具 举报

pzh_hzp 发表于 2016-3-28 10:09:29 |显示全部楼层
呵呵,手气好呀,楼主怎么看。
回复

使用道具 举报

SMACKDOWN 发表于 2016-3-28 16:31:05 |显示全部楼层
谢谢楼主分享。
回复

使用道具 举报

SMACKDOWN 发表于 2016-3-28 16:31:48 |显示全部楼层
谢谢楼主分享。
回复

使用道具 举报

SMACKDOWN 发表于 2016-3-28 16:34:24 |显示全部楼层
谢谢楼主分享。
回复

使用道具 举报

SMACKDOWN 发表于 2016-3-28 16:35:47 |显示全部楼层
谢谢楼主分享。
回复

使用道具 举报

SMACKDOWN 发表于 2016-3-28 16:36:40 |显示全部楼层
谢谢楼主分享。
回复

使用道具 举报

SMACKDOWN 发表于 2016-3-28 16:58:16 |显示全部楼层
谢谢楼主分享。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 我要注册

GMT+8, 2018-11-19 01:01