On 30/06/2013 4:29 a.m., stefano franchi wrote:
Andrew, Liviu,
I may a bit thick, but I can't see how to reduce the size of a Label
inset. 2 problems:
1. I cannot find an InsetLayout for labels.
2. Even if I could find it what would I change the LabelString to?
Currently I see the full label name on screen . Say I have a long label:
"chap:This is the first chapter" And I want the inset to show only 2-3
chars max. What would LabelString be set to? The description in the
Customization manual is "terse" to say the least:
"LabelString What will be displayed on the button or elsewhere as the
inset label. Some inset types (TeX code and Branch) modify this label on
the fly."
Good. And is it possible to somehow influence that modification "on the
fly"?
Cheers,
Stefano
OK, I misunderstood the initial question. I too can't see cross-ref
labels in stdinsets.inc, presumably because, as Scott indicated, they
are hardcoded (there is a dialog associated with the inset). However,
the tinkerer in me started thinking: why not put the label &
cross-reference insets inside a custom inset with a short name ("lab"
and "ref" for instance), using a command-sequence with shortcut keys to
do this?
Below, I've included a module (save in your personal LyX2.0/layouts
folder, perhaps as short-inset-names.module) which provides custom
insets showing the labels "lab" and "ref" when closed. For shortcut keys
I've assigned
Ctrl+Shift+L (L for Label) to: command-sequence label-insert;
flex-insert Flex:ShortLabel
Ctrl+Shift+K (K for Kross reference) to: command-sequence
dialog-show-new-inset ref; flex-insert Flex:ShortXRef
I also find it convenient to have a shortcut to jump out of these (and
other) insets and close them:
Ctrl+Shift+J (J for Jump) to: command-sequence line-end; char-right;
toggle-inset
On my keyboard these are conveniently adjacent keys, and the pinkie of
my left hand easily slides onto and holds down Ctrl+Shift together. With
these assignments, to insert the label LyX suggests do: Ctrl+Shift+L,
Enter, Ctrl+Shift+J. (Inserting a reference to a label will generally
also involve the arrow keys to select the right label, before the Enter.)
If at some point you want to know what is hiding behind all those "lab"s
and "ref"s, just go to View > Open All Insets or click on an individual
one.
Andrew
#\DeclareLyXModule{ShortInsetNames}
#DescriptionBegin
# Provides short-name wrappers to
# put around verbose insets.
#DescriptionEnd
#
Format 35
AddToPreamble
\newcommand{\shortLyXname}[1]{#1}
EndPreamble
InsetLayout Flex:ShortLabel
LyXType custom
LatexType command
LatexName shortLyXname
Decoration Classic
LabelFont
Color phantomtext
End
LabelString lab
Multipar 0
PassThru 0
End
InsetLayout Flex:ShortXRef
LyXType custom
LatexType command
LatexName shortLyXname
Decoration Classic
LabelFont
Color phantomtext
End
LabelString ref
Multipar 0
PassThru 0
End