#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. uva1146 2-SAT问题

    题意大白书 二分答案,然后对于每个可能的答案,跑一遍2-SAT就好了. #include <iostream> #include <string.h> #include < ...

  2. ArrayBuffer:类型化数组

    类型化数组是JavaScript操作二进制数据的一个接口. 这要从WebGL项目的诞生说起,所谓WebGL,就是指浏览器与显卡之间的通信接口,为了满足JavaScript与显卡之间大量的.实时的数据交 ...

  3. 两步实现在Git Bash中用Sublime打开文件

    每次都要用鼠标点来点去才能用sublime打开文件!太不科学!今天来配置一下在Git bash中用sublime打开文件 方法 新建一个文件命名为你想要的命令,比如 subl(注意不能有后缀名),内容 ...

  4. Windows Server 2008 R2 web服务器发布在线系统时遇到的问题

    1  HTTP 错误 404.2 - Not Found,由于 Web  服务器上的“ISAPI 和 CGI 限制”列表设置,无法提供您请求的页面(如下图) 打开 Internet 信息服务(IIS) ...

  5. linux及安全《Linux内核设计与实现》第一章——20135227黄晓妍

    <linux内核设计与实现>第一章 第一章Linux内核简介: 1.3操作系统和内核简介 操作系统:系统包含了操作系统和所有运行在它之上的应用程序.操作系统是指整个在系统中负责完成最基本功 ...

  6. linux第七周

    可执行程序的装载 一.预处理.编译.链接和目标文件的格式 可执行文件的创建——预处理.编译和链接 cd Code vi hello.c gcc -E -o hello.cpp hello.c -m32 ...

  7. 关于《Java读书笔记》第六章课后习题选择题总结与疑问

    课后习题 选择题 3 题 代码: class Some{ String ToString(){ return "Some instance"; } } public class M ...

  8. 2017-2018-1 JaWorld 团队作业--冲刺3

    2017-2018-1 JaWorld 团队作业--冲刺3 (20162306) 总体架构 我们本次团队项目设定为基于Android系统Java架构下的打飞机小游戏 游戏中所有模型的原型设定是精灵,因 ...

  9. Helm - Error: cannot connect to Tiller

    helm2.9.1报错 [root@master ~]# helm version Client: &version.Version{SemVer:"v2.9.1", Gi ...

  10. System.data.sqlite安装

    在这个页面可以下载安装不同版本的 http://system.data.sqlite.org/index.html/doc/trunk/www/downloads.wiki x86的版本可以在64位机 ...