On 16.05.2016 22:52, racoon wrote:
On 16.05.2016 22:22, Richard Heck wrote:
On 05/15/2016 05:20 AM, racoon wrote:
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?

Yes. See the discussion of the Argument tag in section 5.3.6 of the
Customization manual. You only need to declare the optional argument, I
believe. Have a look at some of the InsetLayout definitions is
beamer.layout. Most of these have optional arguments.

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.

Yes, I see. I don't think we have the ability to output the "main"
argument with customized delimiters. You can ADD delimiters with the
LeftDelim and RightDelim tags, but these just seem to appear inside the
usual brackets. I suspect this is a bug, actually. With other arguments
you can specify the delimitersl, and they override the default.

Richard



Thanks. The hint at the beamer.layout was useful. (Somehow I thought
that Argument 1 must be the argument that is always present but it is
actually the first "additional" argument it seems.)

Actually, the \footnotemark command works in math mode as well. But I
guess there is no chance of using my module inset in math mode, right?

A couple more things that would be nice:

- the footnotetext was added to the list of footnotes.
- one could refer to the standard names of other insets, like the LabelString of the standard footnotes. For example, I have renamed the standard "foot x" to "fn x". So I would like to have a reference to that name ("foot" or "fn") so that others can have whatever they like and it will automatically be used.

Daniel

Reply via email to