LaTeX中使用包subfig引用子图标号

news/2024/7/3 17:33:49

[toc]
使用LaTeX的过程中总免不了要在一个大图中包含好几个子图。当前在LaTeX中插入多个子图使用的最新版本的包围subfig,基本上好的主流的国外期刊都会具体要求使用该包。

1 问题描述

我在使用该包的过程中遇到的一个问题为:
我需要的子图的展现方式为
这里写图片描述
我刚开始使用的代码为

\begin{figure}[!htb]
    \centering
    \subfloat[]{\label{Fig:R1}%%
    \includegraphics[width=2.3in]{fig2_r1.eps}}
    \quad
    \subfloat[]{\label{Fig:R2}%%
    \includegraphics[width=2.3in]{fig2_r2.eps}}\\


    \caption{不同发起角色的不完全执行实例的推荐准确度对比:\ref{Fig:R1}发起人角色为$r1$,\ref{Fig:R2}发起人角色为$r2$}
    \label{Fig:RecAccuracy}
\end{figure}

上述代码运行的结果为
这里写图片描述
完全不符合我的需要。怎么办呢?

2 解决过程及方案

我刚开始第一个想到的是查阅包subfig的帮助文档1,但是由于该文档有将近70页的长度,我没耐心细致地看完它,直接跳到该文档的例子章节,来查看又没有满足我的要求的代码示例,无果。于是在google上面搜索,利用关键词“subfig”、“LaTeX subfig”、以及”LaTeX subfig 子图标号引用”等,没找到需要的方案。于是接着利用Baidu来进行相似的查询,仍然无果。我想利用全英文的单词来查询,但又苦于没有合适的英文单词来表达“子图标号引用”,没继续查询下去。这时时间已用去大概半个小时,正在我一筹莫展之际,我想干脆就认真地看subfig的帮助文档,毕竟那儿有subfig的完整的使用说明。
果然我看到11页的时候,嗅到了解决方案的味道:

The \subref command is provided to give an alternative reference to a sub-float. The standard \ref command returns a label built by concatenating the \p@float + \thesubfloat, which is often of the form “1a”. The \subref command returns the label shown on the List-of-Floats page, which may be in the format “(a)”.

顺着上面的例子,我就将代码中出现\ref的地方全部替换为\subref,再次运行,顺利得到我想要的结果。

3 启示

先人说“欲速则不达”是有道理的。当你以某种你认为节省的方式寻求某个问题的答案时,反而不能快速找到。同时,在网上我们找不到某个问题的解决方案时,不要灰心,让自己来解决这个问题。


  1. Steven Douglas Cochran. The subfig Package. 2004. ↩

http://www.niftyadmin.cn/n/4083837.html

相关文章

Java中static关键字的五种使用方法

static关键字的四种用法: 1、修饰成员变量 2、修饰成员方法 3、修饰代码块 4、修饰内部类 5、静态导包 修饰成员变量 注意: 首先声明一下,这里所修饰的是成员变量,而不是局部变量,局部变量是不允许被static修饰的。&…

运行C++11代码

看《Data structures and algorithms analysis in C》(4ed.Mark Allen Weiss, Pearson)书籍,发现里面的代码为C11格式。但是我的电脑上安装的是vs2010,从时间上面推算vs2010肯定不支持C11,于是我就想着在我的win7电脑上安装一个轻量级的能支持…

JavaScript—JavaScript入门

JavaScript的引入方式 嵌入式 <script>JavaScript语句</script><script type"text/javasript">JavaScript语句</script> 外链式 <script src"js/test.js"></script> 行内式 <a href"javascript:alert(hello)…

使用WUBI安装Ubuntu,还原Win7后无法进入Ubuntu解决方法

有同事通过WUBI安装的Ubuntu11.04&#xff0c;在dell机上装上了Win7和Ubuntu11.04双系统&#xff0c;但是通过安装盘修复Win7后&#xff0c;能够发现Ubuntu11.4的启动选项&#xff0c;但是 不能够正常启动系统。提示没有发现WUBI。经过google发现了简单方法如下&#xff1a; 拷…

linux 多行操作

1、多行合并成一行 把a.txt里面的第3-6行内容复制到b.txt里面的第7行 sed -i "7ised -n "3,6p" a.txt |xargs" b.txt 或者 sed -i 7i"sed -n "3,6p" a.txt |xargs" b.txt 2、多行插入 把a.txt里面的第3-6行内容复制到b.txt里面的第7行…

关于瞎折腾的经验

1 问题产生 我发现《构建之法》比较好&#xff0c;试着在网上找其电子版&#xff0c;没找到pdf&#xff0c;但找到了epub格式的。关于该格式&#xff0c;我以前没用过&#xff0c;于是就接着下载epub阅读器。先下载了一个英文版的epub for windows&#xff0c;安装顺利&#x…

LaTeX beamer制作中插图的经历

1 问题 我需要制作一些slides&#xff0c;里面需要写一些公式&#xff0c;于是我选定了LaTeX来制作。利用LaTeX来制作最普遍使用的模板是beamer。现在我遇到的问题是&#xff1a;我有一个图是eps格式的&#xff0c;利用R语言画出来的&#xff0c;需要插入slides中&#xff0c;…