在 MSWord 中,定义段落样式时,可以定义下一段的样式(return输入样式的文本后,输入时将选择的样式)。这很实用,因为某些段落(例如标题)后面是普通样式,而编号列表后面是相同的列表样式。
在 LyX 中我使用定制的.layout
的LaTeX 中的考试类别最终 LaTeX 看起来应该是这样的:
\begin{questions}
\question[2]
What is your quest?
\question[2]
What is the air-speed velocity of an unladen swallow?
...
\end{questions}
我为questions
环境定义了一个 Flex 插图:
InsetLayout "Flex:Questions"
LabelFont
Family Sans
Series Bold
EndFont
Decoration Classic
BgColor insetbg
LyxType Custom
LatexName questions
LatexType Environment
LabelString "Questions block"
ResetsFont true
End
然后我进入\question
通过选择问题下拉菜单中的样式。其定义如下:
Style Question
CopyStyle Enumerate
LatexType Command
LeftMargin "MM"
LatexName question
ParSkip 0.4
Align Left
LabelType Static
LabelCounter questionnumber
LabelString "\arabic{questionnumber}."
Category Questions
Argument 1
LabelString "Points"
Tooltip "Number of points, e.g., 1, 2, 5, "
AutoInsert 1
EndArgument
End
一切正常。不过,我试图调整它,这样Return在问题结束时按下后,下一个段落的样式也与上一个段落相同(例如,问题)。我想为所有与问题相关的样式设置这一点,例如,,\part
等等\subpart
,它们都有各自的环境(例如\begin{questions} .. \end{questions}
。此外,\choice
和/或也是\CorrectChoice
我希望在\begin{choices}
环境中以这种方式工作的样式。
我在样式中看到了对的支持LatexType Item_Environment
,但似乎它只\item
为每个条目添加了 s。我找不到自定义它的方法,所以它添加了一个特定的样式,例如\question
。有没有办法在 LyX 中实现这一点?
编辑我在 Windows(7 和 8.1)下使用 LyX 2.1.3。
答案1
使用 Flex 插入无法做到这一点,但使用列表就可以,正如 Jurgen Spitzmuller 在 lyx-users 上指出的那样。
Style Questions
Margin Static
LatexType Item_Environment
LatexName questions
ItemCommand question
Argument item:1
MenuString "Point Value"
LabelString "Points"
EndArgument
LeftMargin MMN
LabelSep xx
LabelType Enumerate
End
关键是ItemCommand
,它告诉 LyX 对环境中的项目使用什么命令。(当然,默认是\item
。)
不过,我认为为各种布局设置“下一个样式”命令是一个自然的想法。基本上,LyX 现在所做的是使用 DefaultStyle,除非当前布局是环境,在这种情况下它使用相同的样式。