繁體
|
簡體
Sclub交友聊天~加入聊天室當版主
(檢舉)
分享
新浪微博
QQ空间
人人网
腾讯微博
Facebook
Google+
Plurk
Twitter
Line
快速注册
登录
论坛
搜索
帮助
原始风格
brown
purple
green
red
orange
gray
pink
violet
blue
greyish-green
jeans
greenwall
私人消息 (0)
公共消息 (0)
系统消息 (0)
好友消息 (0)
帖子消息 (0)
应用通知 (0)
应用邀请 (0)
悠闲数学娱乐论坛(第2版)
»
TeX / LaTeX
» show 出 labels
返回列表
发帖
kuing
发短消息
加为好友
kuing
当前离线
UID
1
帖子
8832
主题
619
精华
0
积分
66354
威望
113
阅读权限
200
性别
男
来自
广东广州
在线时间
21788 小时
注册时间
2013-6-13
最后登录
2024-3-9
1
#
跳转到
»
倒序看帖
打印
字体大小:
t
T
发表于 2018-6-22 21:39
|
只看该作者
show 出 labels
在写较长论文或写书的时候,交叉引用会很多,通常较前写的 label 到后面就不记得了,需要翻查。
还好 PDF 与 tex 有双向搜索,从 PDF 双击跳到 tex 找到 label,复制,返回到正在写的地方粘贴,不算麻烦,但也有丁点儿麻烦,一直以来也就这样了。
今天无意中在某模板里看到一种处理方式,那就是新建一个命令,其定义是 label 后把名称也输出,在完稿后再改成仅 label。
这样在 PDF 就可以直接复制 label,不用在 tex 里跳来跳去,确实省事了些。
想法是好,不过该模板所给的定义却很粗糙:
\newcommand{\mlabel}[1]{\label{#1} % Use the next two lines to show names
{\hfill \hspace{1cm}{\small\tt{{\ }\hfill(#1)}}}}
复制代码
实际使用时往往影响原内容的排版,特别是在公式中,因为这时 \hfill 没用,同时也占了公式的位置,很难看。
当然这些其实都无所谓,反正只是暂时的,完稿后就没用了,但我还是觉得有必要改进一下,毕竟写的时候太难看也会影响心情。
为了尽量不影响原内容的排版,显示的 label 名应该放到边注中去,但在公式中用 latex 自带的 \marginpar 似乎有问题,所以这里使用一个专门处理边注的宏包 marginnote。
测试代码:
\documentclass{article}
\usepackage{amsmath,amsthm,xcolor}
\newif\ifshowlables
\showlablestrue
\ifshowlables
\usepackage{marginnote}
\newcommand\mlabel[1]{\label{#1}%
\marginnote{\normalfont\small\texttt{\color{blue}#1}}}%
\else\let\mlabel\label\fi
\usepackage{hyperref}
\newtheorem{thm}{theorem}
\begin{document}
\section{test}\mlabel{sec:01}
some text
\begin{thm}\mlabel{thm:AG}
the AG inequality is:
\begin{equation}\mlabel{eqn:AG}
a+b\ge2\sqrt{ab}.
\end{equation}
\end{thm}
ying yong: Section \ref {sec:01}, Theorem \ref {thm:AG} and Equation \ref {eqn:AG}.
\end{document}
复制代码
效果:
下载
(16.12 KB)
2018-6-22 21:55
完稿后,将上述代码的第四行注释掉,
然后删除 .aux 文件
再编译即可。
收藏
分享
分享到:
QQ空间
腾讯微博
腾讯朋友
$\href{https://kuingggg.github.io/}{\text{About Me}}$
abababa
发短消息
加为好友
abababa
当前离线
UID
2354
帖子
1355
主题
285
精华
0
积分
7965
威望
11
阅读权限
90
在线时间
179 小时
注册时间
2014-5-1
最后登录
2022-5-14
2
#
发表于 2018-8-20 21:27
|
只看该作者
回复
1#
kuing
这个命名好的话,应该不会有这些问题吧。比如那个sec:01的,就直接起名叫\label{sec:01},如果是在几级标题下面的,就叫c:1:s:1:eq:1之类的,到时候就好找了。
TOP
返回列表
回复
发帖
[收藏此主题]
[关注此主题的新回复]
[通过 QQ、MSN 分享给朋友]