在 LaTex 中,图形通常被 LaTex 放置,而不是正好位于文本中图形的定义处。这没问题。
然而,引用的文本可能会命名出现在下一页/一侧的图形,或者已经在之前的一页/一侧显示过的图形。
我想用一个小指针符号来表示这一点,该指针指向上方或下方,以向读者指示他/她是否需要滚动/查看前一页,或者需要向下滚动/查看文档中更下方的页面。
例如它可能看起来像这样:
我们在这里谈论的事情确实很有趣,但所有这些都在图 2.1 (↑) 中以清晰简单的方式描述出来。
我们在这里谈论的事情确实很有趣,但所有这些都在图 2.4 (↓) 中以清晰简单的方式描述出来。
我如何使用 LaTex 实现这一点(新命令很好)例如如果我使用cref
(来自聪明人) 现在?
当然在某些文档中,可能不仅可以指向上方或下方,还可以指向左侧或右侧,但这只是一种高级的解决方案。
答案1
这种方法并非万无一失,而且充其量也只能在使用[ht]
图形定位的情况下才有效。它的作用是使用向上/向下箭头来指示\label
在执行操作时是否已经定义\ref
。出现问题的原因是,浮动不一定出现在定义的文本中,除非在定位的情况下出现[ht]
。
因此,如果所讨论的引用距离相应的标签较远,它应该可以工作,但如果引用距离较近,它可能会失败,其中浮动移动可能会改变它们的相对位置。
\documentclass[a4paper]{article}
\let\svlabel\label
\renewcommand\label[1]{\expandafter\gdef\csname#1\endcsname{}%
\svlabel{#1}}
\let\svref\ref
\renewcommand\ref[1]{\ifcsname#1\endcsname$\uparrow$\else$\downarrow$\fi
\svref{#1}}
\begin{document}
I make reference to Fig \ref{fg:myfig}, which follows.
\begin{figure}[ht]
\centering
\framebox(100,100){}
\caption{myfig}
\label{fg:myfig}
\end{figure}
I make reference to Fig \ref{fg:myfig}, which precedes.
\end{document}
不必更新\ref
命令,也可以将其命名为,在这种情况下,只有当距离 很远\updownref
时,才可以有选择地使用。当然,这是需要提示的时候。\ref
\label