displayed text with math
Richard Kimberly Heck
rikiheck at lyx.org
Wed Jan 1 17:53:54 UTC 2020
On 12/31/19 3:11 PM, Hal Kierstead wrote:
>
>> On Dec 31, 2019, at 12:52 PM, Paul A. Rubin <parubin73 at gmail.com> wrote:
>>
>> On 12/31/19 11:26 AM, Hal Kierstead wrote:
>>> All -
>>>
>>> I would like to display some text and math, and have a tag that I can reference, something like in the attached files that I generated with LyX. My efforts seem clumsy, and I was wondering if any one had a better idea.
>>>
>>> Thanks,
>>>
>>> Hal
>>>
>> Since you are using enumitem, with one tweak to the preamble (to get rid of a default colon) you can use the "Labeling" environment (the "List" tool bar button, one right of the button to insert itemized lists). The margins of the inset are not identical to what you have, but it might suffice. I've attached a hacked version of your file.
>>
>> Paul
>>
>> <DisplayedText.lyx>--
>> lyx-users mailing list
>> lyx-users at lists.lyx.org
>> http://lists.lyx.org/mailman/listinfo/lyx-users
> Thanks, Paul. I had thought of this, and I should be able to adjust the left and right edges of the text to get what I want, but I could not figure out how to do it with enumitem.
>
> I think my desired construct is one that others might find useful. For instance I see it in textbooks.
Certainly the best way to do this is to define some environment with a
label, etc. and appropriate sorts of margins. I'm attaching a module I
wrote to do something similar. The right margin can be adjusted by
redefining \rightmargin within the list.
For enumitem, there's a very nice explanation of list parameters in the
docs, here:
http://ctan.math.utah.edu/ctan/tex-archive/macros/latex/contrib/enumitem/enumitem.pdf
See p. 3. You can just do things like:
\begin{description}[rightmargin = 1em]
\item ....
\end{description}
in LaTeX, of course. In LyX, you do Insert> Itemize Options on the first
item, and put "rightmargin = ..." into that inset. For one-off uses,
this would be fine.
To define a new list type, we can use enumitem like this:
\newlist{mydesc}{description}{1}
\setlist{mydesc}{rightmargin=1em}
This would act exactly like the regular description environment, but
with a right margin of 1em. You can add other modifiers to the setlist
command as you wish (e.g., font=\sffamily\bfseries to set the label font
to bold sans serif). And now we can do this in local layout, or in a module:
Style MyDesc
CopyStyle description
LatexName mydesc
Premable
\newlist{mydesc}{description}{1}
\setlist{mydesc}{rightmargin=1em}
EndPreamble
End
Riki
-------------- next part --------------
#\DeclareLyXModule{Formula}
#DescriptionBegin
#An environment for numbered formulas.
#DescriptionEnd
Format 64
Counter formula
Within chapter
End
Counter thesis
Within chapter
End
Style Formula
Margin First_Dynamic
LatexType Item_Environment
LatexName Formula
NextNoIndent 1
LabelSep xxxxxx
LeftMargin MMM
ParSkip 0.4
ItemSep 0.2
TopSep 0.7
BottomSep 0.7
ParSep 0.3
Align Block
AlignPossible Block, Left
LabelType Static
LabelCounter formula
LabelString "(\arabic{formula})"
LabelFont
Shape Up
Series Bold
EndFont
Preamble
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Formula module
%
\usepackage{calc}
%\usepackage{ifthen}
\newcounter{formula}
\def\@rh at item{\refstepcounter{formula}\olditem}
\def\@rh at opt@item[#1]{\protected at edef\@currentlabel{#1}\olditem[#1]}
\newenvironment{Formula}%
{\begin{list}{\theformula}{%
\setlength{\labelwidth}{\leftmargin - \labelsep}%
\let\olditem=\item%
\renewcommand{\item}{\@ifnextchar[\@rh at opt@item\@rh at item}%
\renewcommand{\makelabel}[1]{(##1)\hfil}}%
}{\end{list}}
\@ifpackageloaded{refstyle}{%
\newref{for}{%
refcmd = {(\ref{#1})},
rngtxt = \RSrngtxt,
lsttwotxt = \RSlsttwotxt,
lsttxt = \RSlsttxt}}
{}
\@ifpackageloaded{prettyref}{%
\newrefformat{For}{(\ref{#1})}
\newrefformat{for}{(\ref{#1})}}
{}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
EndPreamble
RefPrefix for
End
Style Formula_Restate
DependsOn Formula
CopyStyle Formula
LabelType Static
LabelCounter ""
LabelString "(REF)"
Preamble
EndPreamble
# Unfortunately, this becomes the argument to the enviroment,
# not to the item.
# Argument 1
# AutoInsert 1
# LabelString "Label"
# EndArgument
End
Style Thesis
Margin First_Dynamic
LatexType Item_Environment
LatexName Thesis
NextNoIndent 1
LabelSep xxxxxx
LeftMargin MMM
ParSkip 0.4
ItemSep 0.2
TopSep 0.7
BottomSep 0.7
ParSep 0.3
Align Block
AlignPossible Block, Left
LabelType Static
LabelCounter thesis
LabelString "Thesis \arabic{thesis}"
LabelFont
Shape Up
Series Bold
EndFont
Preamble
\usepackage{calc}
%\usepackage{ifthen}
\newcounter{thesis}
\def\@rht at item{\refstepcounter{thesis}\olditem}
\def\@rht at opt@item[#1]{\protected at edef\@currentlabel{#1}\olditem[#1]}
\newenvironment{Thesis}%
{\begin{list}{\thethesis}{%
\setlength{\labelwidth}{\leftmargin - \labelsep}%
\let\olditem=\item%
\renewcommand{\item}{\@ifnextchar[\@rht at opt@item\@rht at item}%
\renewcommand{\makelabel}[1]{\textbf{Thesis ##1}\hfil}}%
}{\end{list}}
\@ifpackageloaded{refstyle}
{%
\newref{ths}{%
refcmd = {Thesis \ref{#1}},
rngtxt = \RSrngtxt,
lsttwotxt = \RSlsttwotxt,
lsttxt = \RSlsttxt}}
{}
\@ifpackageloaded{prettyref}{%
\newrefformat{ths}{Thesis \ref{#1}}}
{}
EndPreamble
RefPrefix ths
End
More information about the lyx-users
mailing list