tips of Latex 如何确定某个宏定义的位置
2013-12-05 09:04
330 查看
我们在排错的时候,经常希望知道出错的宏是在哪里定义的,然后通过比对定义和现有情况判断错误原因。
LeoLiu 在 TeX.SX 给出了一个利用
代码:
编译后,在
也就是说,
We would be glad to know where a certain macro is defined, when we are debugging. LeoLiu provided a method by using the package
The code is somewhat tricky:
After compiling, we will get
in
选自:http://liam0205.me/LaTeX-How-to-find-out-where-a-macro-is-defined/
LeoLiu 在 TeX.SX 给出了一个利用
filehook宏包实现的方法,效果拔群!当然,方法有些讨巧。
代码:
\documentclass{article} \usepackage{filehook,currfile} \newwrite\finder \immediate\openout\finder=\jobname.fnd \def\searchmacro#1{ \AtBeginOfFiles{\ifdefined#1 \expandafter\def\csname \currfilename:found\endcsname{}% \fi} \AtEndOfFiles{\ifdefined#1 \unless\ifcsname \currfilename:found\endcsname \immediate\write\finder{found in '\currfilename'}% \fi\fi}} \searchmacro\url \usepackage{hyperref} \begin{document} dummy \end{document}
编译后,在
\jobname.fnd里我们能找到
found in 'url.sty' found in 'hyperref.sty'
也就是说,
\url是在
url.sty里定义的,而
url.sty被
hyperref.sty调用。
We would be glad to know where a certain macro is defined, when we are debugging. LeoLiu provided a method by using the package
filehook, on the website TeX.SX. It’s really great!
The code is somewhat tricky:
\documentclass{article} \usepackage{filehook,currfile} \newwrite\finder \immediate\openout\finder=\jobname.fnd \def\searchmacro#1{ \AtBeginOfFiles{\ifdefined#1 \expandafter\def\csname \currfilename:found\endcsname{}% \fi} \AtEndOfFiles{\ifdefined#1 \unless\ifcsname \currfilename:found\endcsname \immediate\write\finder{found in '\currfilename'}% \fi\fi}} \searchmacro\url \usepackage{hyperref} \begin{document} dummy \end{document}
After compiling, we will get
found in 'url.sty' found in 'hyperref.sty'
in
\jobname.fnd. That is to say,
\urlis defined in
url.sty, which is inputed by
hyperref.sty.
选自:http://liam0205.me/LaTeX-How-to-find-out-where-a-macro-is-defined/
相关文章推荐
- 如何获得 Qt窗口部件在主窗口中的位置--确定鼠标是否在某一控件上与在控件上的位置
- 如何利用指针实现冒泡排序,以及指针使用时位置的确定
- Android如何保证数据加载下一页确定当前listview的位置
- D3D游戏关于窗口中如何精确确定鼠标位置的相关讨论
- 如何在自定义view确定你点击的位置位于哪个小的子视图
- ldd 如何确定依赖共享库的位置
- 如何确定nvme盘的位置
- Latex 中如何使插图的位置不跑到开头而紧跟插入的文字后
- 知道你的手机是如何确定你的位置的吗
- 如何获得 Qt窗口部件在主窗口中的位置--确定鼠标是否在某一控件上与在控件上的位置
- win7 flash缓存在哪里如何确定其位置
- 使用PS切片工具进行切片生成div布局的页面的方法以及如何确定图片中某个点在图片中的位置
- 如何用ZBrush确定头部五官的位置
- 多媒体开发之---如何确定slice_header slice_type 的位置
- 如何使用css sprites 确定小图在整图中的位置
- 如何确定载入动画在flash画面中的位置
- 当长时间点击ListView时弹出contextMenu如何确定被点击listView中item的位置
- 编写Help帮助页面时如何定位到某一确定位置
- 如何获得 Qt窗口部件在主窗口中的位置--确定鼠标是否在某一控件上与在控件上的位置
- web developer tips (45):如何改变动态数据文件夹的位置