Style
当我在 LyX 布局中定义一个新内容时,在 LaTeX 输出中,LyX 段落后总会有两个换行符。
我可以删除 LyX 编辑器中显示的垂直间距(使用TopSep
、BottomSep
和TopSep
),但我无法弄清楚如何避免\n\n
LaTeX 输出中导致段落间距的 :
Style NoSpacingParagraph
CopyStyle Standard
TopSep 0
BottomSep 0
ParSep 0
End
我已经尝试过LatexName
使用自定义的乳胶命令进行自定义 - 但\n\n
似乎是不可避免的。
有任何想法吗?
答案1
在 LaTeX 中,parskip下列的\vspace{-\parskip}
通过在段落末尾添加一个长度为 parskip ( ) 的负垂直间距,即可删除段落。然后负间距和正 parskip 相互消除。
为了将此解决方案纳入 LyX 段落样式,我使用了以下内容:
Style NoSpacingParagraph
CopyStyle Standard
LatexType Command
LatexName noparskip
TopSep 0.0
ParSep 0.0
BottomSep 0.0
ParSkip 0.0
Preamble
\newcommand{\noparskip}[1]{#1\vspace{-\parskip}}
EndPreamble
End
现在只需为一个段落选择这种新样式,它和下一个段落之间的 parskip 就会在呈现的输出中消失。
答案是受这个问题启发的:仅在特定段落之后抑制 parskip 吗?
答案2
定义经过验证的当地的布局(文档>设置...>本地布局)它将其作为选项添加到格式下拉菜单/工具栏中:
由于您使用Standard
样式的“副本”来创建NoSpacingParagraph
,因此您仍需要选择应使用设置的段落NoSpacingParagraph
。或者,您需要Standard
直接将其更改为本地布局(覆盖它)。
样式如下Standard
(取自stdclass.inc
):
Style Standard
Category MainText
Margin Static
LatexType Paragraph
LatexName dummy
ParIndent MM
ParSkip 0.4
Align Block
AlignPossible Block, Left, Right, Center
LabelType No_Label
# FIXME This ought to be set dynamically.
HTMLStyle
div.standard {
margin-bottom: 2ex;
}
EndHTMLStyle
End
其次,LaTeX 输出中有一个由变量 定义的段落间隙/跳过\parskip
。如果你\parskip
在某处定义了一个较大的段落间隙/跳过,这可能是原因。也可以通过添加以下代码轻松覆盖它:
\AtBeginDocument{\setlength{\parskip}{<your choice>}}
到您的文档 > 设置... > LaTeX 序言。