I agree with Stefano the long labels can be a bit distracting so this is 
fantastic. 

Thank you very much.




________________________________
 From: Andrew Parsloe <apars...@clear.net.nz>
To: lyx-users@lists.lyx.org 
Cc: stefano franchi <stefano.fran...@gmail.com> 
Sent: Saturday, June 29, 2013 10:07:11 PM
Subject: Re: Changing the size of insets' labels. Is it possible?
 

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

Reply via email to