all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
* bug#41841: 26.3; reftex and tikz's labels
@ 2020-06-13 21:26 phs
  2020-06-14 20:17 ` Tassilo Horn
  0 siblings, 1 reply; 4+ messages in thread
From: phs @ 2020-06-13 21:26 UTC (permalink / raw)
  To: 41841

It seems reftex mistakes labels in tikz nodes with genuine \label 's in
LaTeX
source.

To reproduce:

1) open a buffer foo.tex in LaTeX mode

2) insert (via cut&paste) the following text

\begin{figure}
\begin{tikzpicture}
\node at (0,0) [label={node 0}] % not a LaTeX label
\end{tikzpicture}
\caption{Figure that!}
\label{myfigure} % only genuine label
\end{figure}

3) M-x reftex-toc

4) in the TOC buffer, hit key l for reftex-toc-toggle-labels

5) now the TOC buffer shows a genuine LaTeX \label and an irrelevant
tikz node "label".

--phs

"Algebraic symbols are used when you do not know what you are talking about"

In GNU Emacs 26.3 (build 1, x86_64-apple-darwin18.2.0, NS appkit-1671.20
Version 10.14.3 (Build 18D109))
 of 2019-09-02 built on builder10-14.porkrind.org
Windowing system distributor 'Apple', version 10.3.1894

Configured using:
 'configure --with-ns '--enable-locallisppath=/Library/Application
 Support/Emacs/${version}/site-lisp:/Library/Application
 Support/Emacs/site-lisp' --with-modules'

Configured features:
NOTIFY ACL GNUTLS LIBXML2 ZLIB TOOLKIT_SCROLL_BARS NS MODULES THREADS

Important settings:
  value of $LC_ALL: en_US
  value of $LANG: en_US
  locale-coding-system: utf-8-unix

Major mode: TOC

Minor modes in effect:
  cursor-intangible-mode: t
  global-magit-file-mode: t
  magit-auto-revert-mode: t
  global-git-commit-mode: t
  async-bytecomp-package-mode: t
  shell-dirtrack-mode: t
  diff-auto-refine-mode: t
  icomplete-mode: t
  global-eldoc-mode: t
  mouse-wheel-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  blink-cursor-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t
  buffer-read-only: t
  line-number-mode: t
  transient-mark-mode: t






^ permalink raw reply	[flat|nested] 4+ messages in thread

* bug#41841: 26.3; reftex and tikz's labels
  2020-06-13 21:26 bug#41841: 26.3; reftex and tikz's labels phs
@ 2020-06-14 20:17 ` Tassilo Horn
  2020-06-14 20:26   ` phs
  0 siblings, 1 reply; 4+ messages in thread
From: Tassilo Horn @ 2020-06-14 20:17 UTC (permalink / raw)
  To: phs; +Cc: 41841-done

phs <phs@lsv.fr> writes:

> It seems reftex mistakes labels in tikz nodes with genuine \label 's
> in LaTeX source.
>
> To reproduce:
>
> 1) open a buffer foo.tex in LaTeX mode
>
> 2) insert (via cut&paste) the following text
>
> \begin{figure}
> \begin{tikzpicture}
> \node at (0,0) [label={node 0}] % not a LaTeX label
> \end{tikzpicture}
> \caption{Figure that!}
> \label{myfigure} % only genuine label
> \end{figure}

Does adding "tikzpicture" to
reftex-label-ignored-macros-and-environments work?

--8<---------------cut here---------------start------------->8---
reftex-label-ignored-macros-and-environments is a variable defined in ‘reftex-vars.el’.
Its value is nil

  You can customize this variable.
  This variable was introduced, or its default value was changed, in
  version 24.4 of Emacs.

Documentation:
List of macros and environments to be ignored when searching for labels.
The purpose is to ignore environments and macros that use keyval
style label=foo arguments, but the label has a different meaning
than a \label{foo}.  Standard \label{...} definitions are never
ignored.

E.g., TikZ defines several macros/environments where [label=foo]
defines the label to be printed at some node or edge, but it’s
not a label used for referencing.

Note that this feature is only supported if you are using AUCTeX
and the functions ‘TeX-current-macro’ and
‘LaTeX-current-environment’ are bound.  Also note that this
feature might slow down the reftex parsing process for large TeX
files.
--8<---------------cut here---------------end--------------->8---

In what's going to become Emacs 27.1, we are a bit more conservative and
have a whitelist of environments in which we look for label=foo options.
There, the bug doesn't happen anymore, so I'm closing this bug.

Thanks,
Tassilo





^ permalink raw reply	[flat|nested] 4+ messages in thread

* bug#41841: 26.3; reftex and tikz's labels
  2020-06-14 20:17 ` Tassilo Horn
@ 2020-06-14 20:26   ` phs
  2020-06-14 20:28     ` Tassilo Horn
  0 siblings, 1 reply; 4+ messages in thread
From: phs @ 2020-06-14 20:26 UTC (permalink / raw)
  To: Tassilo Horn; +Cc: 41841-done

On 2020/06/14 22:17, Tassilo Horn wrote:

> Does adding "tikzpicture" to
> reftex-label-ignored-macros-and-environments work?

Yes, it works perfectly, even in my setup where I don't use AucTeX. Thanks!

Emacs is so full of options, it can do everything if you just know how
to use it properly.

I feel full of shame for posting a bug report about that. Sorry...

--phs





^ permalink raw reply	[flat|nested] 4+ messages in thread

* bug#41841: 26.3; reftex and tikz's labels
  2020-06-14 20:26   ` phs
@ 2020-06-14 20:28     ` Tassilo Horn
  0 siblings, 0 replies; 4+ messages in thread
From: Tassilo Horn @ 2020-06-14 20:28 UTC (permalink / raw)
  To: phs; +Cc: 41841-done

phs <phs@lsv.fr> writes:

>> Does adding "tikzpicture" to
>> reftex-label-ignored-macros-and-environments work?
>
> Yes, it works perfectly, even in my setup where I don't use
> AucTeX. Thanks!
>
> Emacs is so full of options, it can do everything if you just know how
> to use it properly.
>
> I feel full of shame for posting a bug report about that. Sorry...

No need to feel ashamed!  I think I've implemented that feature but
still I had to check the code in order to be sure.

Bye,
Tassilo





^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2020-06-14 20:28 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2020-06-13 21:26 bug#41841: 26.3; reftex and tikz's labels phs
2020-06-14 20:17 ` Tassilo Horn
2020-06-14 20:26   ` phs
2020-06-14 20:28     ` Tassilo Horn

Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/emacs.git
	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.