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 EndOkay, 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-argumentsYes, 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
footmark and foottext.lyx
Description: application/lyx