On 15.05.2016 03:41, Richard Heck wrote:
On 05/14/2016 05:46 PM, racoon wrote:
On 14.05.2016 08:29, racoon wrote:
On 14.05.2016 06:21, Richard Heck wrote:
On 05/13/2016 03:38 PM, racoon wrote:
Hi!

The LyX manual on customization has not much explanation. I want to
create a simple module that inserts a label with "footnotemark" and
the command \footnotemark in the source.

The LyxType sounds like the right thing to use. But unfortunately, I
have no idea where I can find this kind of inset. The documentation
states "Among other things, [LyXType] determines on which menu this
inset will appear." (46, LyX 2.2) But it does not state where the
inset will appear.

This does sound like a job for a Flex inset. Can you explain in detail
what you want to accomplish, in terms of LaTeX? Is there preamble code?
What do you want to appear where this new inset would appear?

I'd suggest you look at endnotes.module for an example you should be
able to adapt.

As for LyXType, the only genuine options here are CharStyle and Custom.
The former is intended, as it says, for character styles, such as noun
and small caps. They appear under Edit> TextStyle. The latter is
intended for custom insets such as endnote. They appear under Insert>
Custom Insets.

Ah, I see. Then charstyle is seems not to be the right thing.

I want to implement http://www.lyx.org/trac/ticket/9998 via a module.

I have the current code inserted below. Problems at the moment:

For the Footnotemark:

- It should contain no arguments.
- It should also be possible to insert it in math mode.
- Can it count up the standard footnote counter that is shown on the
footnote in the editor?



#\DeclareLyXModule{Footnote}
#DescriptionBegin
#Adds the footnotemark and footnotetext command
#DescriptionEnd

Format 59

InsetLayout Flex:Footnotetext
  LyXType         custom
  LatexName       footnotetext
  LatexType       command
  Decoration      classic
  Font
    Size Small
  EndFont
  MultiPar        true
  LabelString     fntext
End

InsetLayout Flex:Footnotemark
  LyXType        custom
  LatexName        footnotemark
  LatexType        command
  Decoration    classic
  Font
    Size Small
  EndFont
  LabelString     fnmark
End



Okay, maybe I found my answer: it is not possible for now.

http://lyx-devel.lyx.narkive.com/i8i3itVw/lyx-construct-for-latex-commands-having-no-arguments


Yes, the part about "no arguments" means we're dealing with a
command-type inset, not a collapsable inset, and there are no custom
versions of the former.


Thanks. Well, I tried to make a virtue out of it and looked up the \footnotemark command and it can actually has an optional argument.

There are two more obstacles:

1. \footnotetext actually also takes an optional argument. So far I have implemented it with only with the required argument. Is it possible to add an optional argument to it?

2. a minor one: \footnotemark receives only an optional argument. Is it possible to give only an optional argument to a command, i.e. to give it directly to [] rather than {} in the latex command? Right now I just make a new command that gives it's required argument to footnotemark as an optional argument. It's a bit indirect.

I have attached my module so far.

Daniel
#\DeclareLyXModule{Footnotemark/text}
#DescriptionBegin
#Adds the footnotemark and footnotetext commands to Custom Insets
#DescriptionEnd

Format 59

AddToPreamble
    \usepackage{ifthen}
        
        \newcommand\setfootnotemark[1]{%
                \ifthenelse{\equal{#1}{}}{\footnotemark}{\footnotemark[#1]}%
        }
EndPreamble

InsetLayout Flex:Footnotetext
        LyXType         custom
        LatexName       footnotetext
        LatexType       command
        Decoration      classic
        Font            
                Series                  Medium
                Size                    Small
        EndFont
        LabelFont
                Size                    Small
                Color                   footlabel
        EndLabelFont
        EndArgument
        MultiPar        true
        LabelString     foottext
End

InsetLayout Flex:Footnotemark
        LyXType                 custom
        LatexName               setfootnotemark
        LatexType               command
        Decoration              classic
        Font
                Series                  Medium
                Size                    Small
        EndFont
        LabelFont
                Size                    Small
                Color                   footlabel
        EndLabelFont
        MultiPar        false
        LabelString     footmark
        DefaultArg
End

Attachment: footmark and foottext.lyx
Description: application/lyx

Reply via email to