[TxMt] Re: Problem with tm_dialog
Charilaos Skiadas
skiadas at hanover.edu
Sun Dec 17 04:03:54 UTC 2006
On Dec 14, 2006, at 10:33 PM, Piero D'Ancona wrote:
> Haris, the Insert Label command is nice but difficult to use.
> Let me explain.
>
> First of all I must write by hand \ref{} or \eqref{}
> and this could be improved as you say.
>
Will fix that in my next commit, I've already made the changes
locally. It does require that you type the first couple of letters of
the citation though, like "fig" for instance for figures, or "eq" for
equations.
> But the worse is that usually the number of labels
> is quite high (50+ is common). When I invoke the
> command, a very long list appears, and it is in
> alphabetical order. I must scroll up and down to
> locate the label I want; of course I do not remember
> which one it is exactly, so it takes a long time to
> find the right one.
You don't have to scroll up and down, you can just start typing
letters starting with the first letter and it moves you to the
appropriate place in the list. And the long list will be there no
matter what format the thing is in, no matter what, if that's how
many citations you have.
> You will say: I must write the initial letters of the
> label so the list that appears is much shorter.
> This is not a solution because:
>
> 1) this forces me to remember the beginning of
> the right label: it takes even longer to remember
> it, and it takes longer to write \eqref{firstletters...}
> than to write the full label by hand
If you name them consistently, with eq for equations, thm for
theorems, def for definitions and so one, it would certainly be easy
to type the first three letters, presumably you know what kind of
text you want to link to, i.e. whether it refers to an equation or
whatnot. I always follow the "three letters plus a :" convention, and
it certainly makes my life easier. I also opt for very long
descriptive names, like fig:changeNearCritPoint and
thm:descentPathBasis. So often the name gives me quite a clue as to
what the label refers to. If we even had Allan's nice "Go to..."
window, it would make filtering even easier. *That* would be the
better solution IMO.
> 2) all of my labels start with eq: (I'm not alone I think)
> Apparently, if I write eq: followed by some
> letters the script does not work; maybe you check
> for letters and digits only in the name?
The problem here is that you have not set ":" to be in your list of
word characters (Preferences -> Text Editing). If you stop at eq, or
if you add : to this list, it should work just fine. The command
accepts as input the current word or selection, so if ":" is not a
word character, then the caret doesn't find a word to work with,
since it is between the ":" and the "}" atm.
> Exactly to overcome these problems I proposed some
> weeks ago a different mechanism based on
> a semi-permanent html window. Would you like
> to give a look to it? It's rudimentary but I used it
> a little and it seems to be handier that the present
> Insert Label command. Please tell me if you have the
> time to check it, I think there is something useful
> in it
I have actually looked at it, and it is pretty nice overall. It is
definitely nice that you can leave it open at the side, though I
think for that a plugin would be better, or at least a HTML window
that using javascript to reparse the file every now and then and
update its information. My main problem with it is though, that it
requires you to use the mouse, and that is really not acceptable. It
has the great advantage of showing you the context of each label, and
this is something we could relatively easily incorporate into the
existing command, at least showing the line that the label is at on
the side (well, should probably cut the line to 40 characters or so,
since LaTeX lines tend to be long).
The thing we are missing, which would be very nice, would be a
command that would show you as a popup the context around the
corresponding \label entry, when you are over a \ref entry. Shouldn't
be too hard to implement.
> Piero
Haris
More information about the textmate
mailing list