mirror of
https://git.lyx.org/repos/lyx.git
synced 2024-11-05 13:26:21 +00:00
Protect underlined \ref{} commands by enclosing them in \mbox{}.
This is the same protection used for \cite{}. Although "ulem" commands don't strictly need this protection with \ref{} and friends, this helps when one wants to use another package souch as "soul". Indeed, ulem's \uline{} doesn't hyphenate words, while soul's \ul{} does, and thus the output is much nicer. With this patch, replacing ulem with soul is as simple as adding \usepackage{soul} \renewcommand{\uline}[1]{\ul{#1}} to the preamble, without worrying about manually enclosing in \mbox the \ref commands. In any case, the output from ulem remains unchanged. Another possibility offered by soul is that of typesetting as "yellow highlighted" the underlined text. This is achieved by adding \usepackage{color,soul} \renewcommand{\uline}[1]{\hl{#1}} to the preamble.
This commit is contained in:
parent
458c143e49
commit
91afc2430d
@ -142,6 +142,9 @@ void InsetRef::latex(otexstream & os, OutputParams const & rp) const
|
||||
string const cmd = getCmdName();
|
||||
docstring const data = getEscapedLabel(rp);
|
||||
|
||||
if (rp.inulemcmd)
|
||||
os << "\\mbox{";
|
||||
|
||||
if (cmd == "eqref" && buffer().params().use_refstyle) {
|
||||
// we advertise this as printing "(n)", so we'll do that, at least
|
||||
// for refstyle, since refstlye's own \eqref prints, by default,
|
||||
@ -163,6 +166,9 @@ void InsetRef::latex(otexstream & os, OutputParams const & rp) const
|
||||
p["reference"] = ref;
|
||||
os << p.getCommand(rp);
|
||||
}
|
||||
|
||||
if (rp.inulemcmd)
|
||||
os << "}";
|
||||
}
|
||||
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user