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
\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宏包直接给注释掉么,对吧~
需要注意的问题:
-
对于那些有标题的环境类型(如figure与table,即图片与表格),其
\label
设定必须放在\caption
后面。如,图片环境:
否则本来要引用的figure的编号将变为引用此环境前的section或者subsection编号。\usepackage{graphicx}
......
\begin{figure}
\centering
% Requires \usepackage{graphicx}
\includegraphics[width=*]{*}\\
\caption{*}\label{*} %\label设定必须放在\caption后面
\end{figure} - 对于equation,其
\label
要放在\begin{equation}
的后面,否则,后果同上。 - \label在LaTeX的适用范围非常非常的广泛,从章节标题到环境(图片、表格、方程式等)再到参考文献,灵活运用
\label
是区别word党的高级玩法噢~ 聪明的孩子们应该注意到了上例就是活生生的WinEdt默认的figure环境设定。嗯,要学会妙用工具栏,酱紫就不用记公式了呢~~~
工具栏在这里:
红笔圈起的是一些重要的环境设定,而蓝笔圈起的是无比无比节省时间and记忆力的符号列表啦!