On 10/03/2017 08:56 AM, rls wrote:
> I am Lyx beginner. Sorry if it's in the docs. Thanks in advance for
> your help.
>
> I need to have Theorems (and Lemmas, etc.) to share the same counter
> with subsectons.
>
> I can't find a way to do it with Lyx.
>
> === Example of Section 2, in a document ====
>
>                        2. Reals simply defined ...[Section 2 title here]
>
> 2.1. Recall ... [1st subsection here]
>
> 2.2. Lemma. Any ....
>
> Proof. ...
>
> 2.3. Given f ... [2nd subsection here]
>
> ============================================
> Before using Lyx, I would just use the preamble:
>
> \documentclass[12pt]{amsart}
> \usepackage{amsmath}
>
> \swapnumbers
> \theoremstyle{plain}
> \newtheorem{theorem}[subsection]{Theorem}
> \newtheorem{proposition}[subsection]{Proposition}
> \newtheorem{lemma}[subsection]{Lemma}
> \newtheorem{corollary}[subsection]{Corollary}
> \newtheorem*{theoremNoNum}{Theorem}
> .....
> ---------------
> I could include in the Lyx Document > Settings > LaTex Preamble, some
> hack to identify the two counters, like:
> \makeatletter
> \let\c@subsection\c@thm
> \makeatother
>
> But then, the numbers displayed in the Lyx editor aren't what's printed.

The LyX display is controlled by 'layout' information, which is defined
in a number of places:

(i) The layout file for the document class (e.g., amsart.layout)
(ii) Modules, which are to LyX as packages are to LaTeX (e.g.,
theorems-ams.module)
(iii) Document-specific "local" layout, found at Document> Settings>
Local Layout

It seems to me as if you will probably be best off creating a new module
of your own, perhaps starting with and modifying theorems-ams.module.
Documentation concerning this is in Ch 5 of the Customization manual. As
far as the counters are concerned, you will want to modify the
LabelCounter defined for the various styles so that it uses the one for
subsections.

Note that you can just make modifications in Local Layout, e.g.:

Style Theorem
    LabelCounter subsection
    Preamble
        \theoremstyle{plain}
        \newtheorem{thm}[subsection]{\protect\theoremname}
    EndPreamable
End
Style Lemma
    LabelCounter subsection
    Preamble
        \theoremstyle{plain}
        \newtheorem{lem}[subsection]{\protect\theoremname}
    EndPreamable
End

Then you could just use the usual Theorems (AMS) module, and these
modifications might be enough to get you what you want. But if you are
going to want to re-use them, then putting them in a module of their own
will make that easier.

Richard


Reply via email to