Dear all,

Let me first quote a paragraph in TeXmacs documents:

You first have to create a label at the position to which you want to refer. 
For equations, the label should be created inside the equation, and similarly 
for theorems and most other tags. The labels for sections, subsections, etc. 
should rather be positioned just after the section titles; this prevents 
TeXmacs from duplicating the labels in the table of contents.

I did not find any rationale for this. Now I look at some codes, and if I 
understand correctly, it is doing the following:

(set-binding name) — setting a binding with name "name" (this seems to be 
undocumented).
(label lab) — setting a label lab, which has the *last* binding.
(reference lab) — a reference to the label lab, displayed as the name of the 
associated binding.

I find this counter-intuitive — where we set a label, it is a priori unclear 
where is the last binding, plus depending on a very low-level undocumented 
machinery called binding. For example, we can look at the following artificial 
TeXmacs Scheme code:

(document (theorem (document "Consider the following conjecture" (indent (document (conjecture (document (concat "Some conjucture for " (math 
"n<in><bbb-N>") "."))))) (concat "It holds for " (math "n<leq>100") "." (label "thm:1")))) (reference 
"thm:1"))

The label "thm:1" is associated to the binding produced by the "Conjecture 2", with name "2" instead of 
"1". This does not seem to be intuitive. This could be resolved by moving the label "thm:1" before "Conjecture 
2", but this does not seem to be good for me.

I would propose the following:

1. "Bindings" should be local to the environment. In particular, in the preceding code, "thm:1" 
should refer to 1 — the binding in "Conjecture 2" should be local in this environment, and outside this 
environment, the value should be resumed to be the one of "Theorem 1" environment.
2. We should have abstractions "labeled-theorem", "labeled-conjecture", which 
allows others to avoid low-level abstractions such as bindings.

Best wishes,
Frank

_______________________________________________
Texmacs-dev mailing list
Texmacs-dev@gnu.org
https://lists.gnu.org/mailman/listinfo/texmacs-dev

Reply via email to