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

Reply via email to