#LaTeX 之 \label 的运用


前言

大部分的LaTex教程里面都会提到 \label 的标记功能,而如果入门时就玩耍过WinEdt的同学在工具栏上点击各种环境的时候就会发现\label这个东东是无处不在的。而它最大的功能就是引用


\label 和 \ref ,基本的引用功能

  • 在需要引用的时候,\label\ref 是成对出现的
\label{标记}
\ref{标记}

\label后面的标记就像一个特定的身份象征,就像一个人的身份证号码指向这个人一样。


打个比方,你在墙上从上到下挂了5张图片,顺序依次是12345,每张图片下面都有一个空白标签,你可以往上面写东西。然后你在第三张图片下面的标签上写下“这是第五张图片”,就相当于你给了这张图片一个 label ,为 \label{这是第五张图片} 。那么,当你用 \ref{这是第五张图片} 进行引用的时候,出现的不是 5 ,也不是 figure 3,更不是figure 5,而单单是一个 3,如果你需要figure这个说明类型的文字,你需要自己在 \ref 前面敲上figure,即:

This is figure \ref{这是第五张图片}

* 在不使用宏包进行功能扩展,**用 `\ref` 进行引用的时,后面的标记不会出现在编译后的pdf里。**


###示例1
```LaTex
\label{3i4io} %此标记只是一串随机字符串
\ref{3i4io}
```
* 用`\ref`引用时注意要与对应`label`名完全一样


###示例2

\documentclass{article}
\usepackage{CJK} \begin{document}
\begin{CJK}{GBK}{song} \begin{equation}\label{3}
F=ma
\end{equation} \begin{equation}\label{1}
s=v_0+\frac{1}{2}at^2
\end{equation} 联立方程 (\ref{3}) (\ref{1}) ,得…… %见编译结果,\ref{3}指向1,\ref{1}指向2 \end{CJK}
\end{document}
  • 注意\ref前后的括号。引用后print的只是排序编号,不包括前后括号
  • 排序编号与\label标签名无关

编译结果如下:


显示 \label 后大括号里的标签名——showkeys宏包

如果你说,哎呀我的文章就是要用到很多很多的标签很多很多的引用,然后用LaTeX排版到最后标签们都不知道哪个打哪个,整个人都不好了,最好能看见自己的标签名方便排版的话,showkeys宏包就能满足这个要求咯。

###示例

......
\usepackage{showkeys}
......

下图是加上showkeys宏包后的效果:

如果觉得引用处的上下分别显示标签名和编号太过难看,可以设置宏包参数为[notref,notcite]以取消引用处的标签名。

......
\usepackage[notref,notcite]{showkeys}
......

加上[notref,notcite]参数后,编译结果如下:

反正在最后提交论文的时候可以把showkeys宏包直接给注释掉么,对吧~

showkeys宏包源文件


需要注意的问题:

  • 对于那些有标题的环境类型(如figure与table,即图片与表格),其\label设定必须放在\caption后面。如,图片环境:
\usepackage{graphicx}
......
\begin{figure}
\centering
% Requires \usepackage{graphicx}
\includegraphics[width=*]{*}\\
\caption{*}\label{*} %\label设定必须放在\caption后面
\end{figure}

否则本来要引用的figure的编号将变为引用此环境前的section或者subsection编号。

  • 对于equation,其\label要放在\begin{equation}的后面,否则,后果同上。
  • \label在LaTeX的适用范围非常非常的广泛,从章节标题到环境(图片、表格、方程式等)再到参考文献,灵活运用\label是区别word党的高级玩法噢~
  • 聪明的孩子们应该注意到了上例就是活生生的WinEdt默认的figure环境设定。嗯,要学会妙用工具栏,酱紫就不用记公式了呢~~~


    工具栏在这里:



    红笔圈起的是一些重要的环境设定,而蓝笔圈起的是无比无比节省时间and记忆力的符号列表啦!

祝大家与 LaTeX 玩耍愉快~

LaTeX 之 \label 的运用的更多相关文章

  1. latex figure \label 放在\caption 后

    http://www.cnblogs.com/loca/p/4264686.html latex figure \label 放在\caption 后,否则将显示\section 或者\subsect ...

  2. linux下编译bib、tex生成pdf文件

    实验: 在linux环境下,编译(英文)*.bib和*.tex文件,生成pdf文件. 环境: fedora 20(uname -a : Linux localhost.localdomain 3.19 ...

  3. Windows下LATEX排版论文攻略—CTeX、JabRef使用介绍

    Windows下LATEX排版论文攻略—CTeX.JabRef使用介绍 一.工具介绍 TeX是一个很好排版工具,在学术界十分流行,特别是数学.物理学和计算机科学界. CTeX是TeX中的一个版本,指的 ...

  4. TeXstudio 编写Latex论文的若干问题

    TeXstudio 编写Latex论文的若干问题解决方案总结       问题1: 如何安装TeXstudio 以及 Texstudio当中的中文字体使用问题.   一.如何安装TeXstudio 很 ...

  5. SCI英文论文写作- Latex 进阶

    SCI英文论文写作- Latex 进阶   1.设置行间距的方法: %\setlength{\baselineskip}{15pt} \renewcommand{\baselinestretch}{1 ...

  6. 如何在latex 中插入EPS格式图片

    如何在latex 中插入EPS格式图片 第一步:生成.eps格式的图片 1.利用visio画图,另存为pdf格式的图片 利用Adobe Acrobat裁边,使图片大小合适 另存为.eps格式,如下图所 ...

  7. LaTeX简单使用方法

    Content LaTeX的用途 LaTeX文件布局 LaTeX的文档格式 公式环境 图的排版 表格的排版 有序列表和无序列表 引用 伪代码 参考文献 LaTeX的用途 LaTeX是一种基于TeX的排 ...

  8. LaTeX

    毕业论文用LaTeX编辑,方便使用,专注于内容.无须分心于格式. 字符 - Char 希腊符号 加粗 \usepackage{amsmath} \boldsymbol{\sigma} \usepack ...

  9. Excel 转Latex 及tex表格的处理 总结

    Excel 转LaTex表格 与TeX表格的处理 总结   工具使用:一个Latex表格输入神器--Excel2Tex插件的安装过程. 首先下载插件:http://www.ctan.org/tex-a ...

随机推荐

  1. 禁止复制操作 --《C++必知必会》条款32

    class NoCopy{ private: //声明为私有的,则外部不可访问,即:不可复制 NoCopy(const NoCopy & );//复制构造函数 NoCopy & ope ...

  2. C++ builder 书籍推荐

    china-pub网上书店c++builder书籍专区,本专区专门为c++builder学习者提供目前最为畅销实用的c++builder技术书籍,通过对本专区c++builder书籍的了解,让您学习c ...

  3. 自定义 Repository 方法

    为某一个 Repository 上添加自定义方法 步骤: 定义一个接口: 声明要添加的, 并自实现的方法 提供该接口的实现类: 类名需在要声明的 Repository 后添加 Impl, 并实现方法 ...

  4. fedora修改主目录文件名为英文

           在gnome-terminal里面能够显示中文的,但是在文本终端里面中文都是不能显示的,是一个小小的正方形.因此可以只把主目录文件名换成英文的,方便文本终端命令输入,而其他的一些地方还是 ...

  5. 大喜python版opencv3发布,demo脚本抢鲜版发布

    大喜,python版opencv3发布 zwPython3的升级也可以启动了,一直在等这个,zwPython会直接升级到版本3:zwPython3 zwPython3采用64位python3,支持op ...

  6. 微信 audio 获取 duration 为 NaN 的解决方法

    先加load() myaudio.load(); myaudio.oncanplay = function () { alert(myaudio.duration); } load() 方法用于在更改 ...

  7. 【Java----统计字符串匹配个数】

    org.apache.commons.lang3.StringUtils包带的工具类 StringUtils.countMatches(context, keyword);

  8. k8s 学习笔记 etcd

    1. Etcd Etcd是Kubernetes集群中的一个十分重要的组件,用于保存集群所有的网络配置和对象的状态信息.在后面具体的安装环境中,我们安装的etcd的版本是v3.1.5,整个kuberne ...

  9. 学习mybatis-3 step by step 篇一

    一.搭建简单mybatis-3环境(详细的中文文档) 集成开发环境:IDEA 项目:maven + mybatis-3 1.创建maven结构项目 含简单,如下图: 下一步后,填写groupid和ar ...

  10. PostMessage与SendMessage的区别

    PostMessage只负责将消息放到消息队列中,不确定何时及是否处理 SendMessage要等到受到消息处理的返回码(DWord类型)后才继续 PostMessage执行后马上返回 SendMes ...