* use ulem instead of soul for change tracking

(fixes bugs 5091, 5480, 5647).

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@28114 a592a061-630c-0410-9148-cb99ea01b6c8
This commit is contained in:
Jürgen Spitzmüller 2009-01-12 08:01:28 +00:00
parent 9fba7d7759
commit 743a29799b
6 changed files with 39 additions and 33 deletions

View File

@ -268,6 +268,7 @@
\TestPackage{soul}
\TestPackage{subfig}
\TestPackage{textcomp}
\TestPackage{ulem}
\TestPackage{units}
\TestPackage{url}
\TestPackage{varioref}

View File

@ -4612,14 +4612,14 @@ setspace
\end_layout
\begin_layout Subsection
soul
ulem
\end_layout
\begin_layout Description
Found:
\begin_inset Info
type "package"
arg "soul"
arg "ulem"
\end_inset
@ -4628,17 +4628,18 @@ arg "soul"
\begin_layout Description
CTAN:
\family typewriter
macros/latex/contrib/soul
macros/latex/contrib/misc/
\end_layout
\begin_layout Description
Notes: The package
\family sans
soul
ulem
\family default
provides hyphenatable letterspacing (spacing out), underlining, striking
out, and some derivatives.
It is needed by LyX to output struck out text in change tracked documents.
provides various types of underlining, striking through and emphasizing
that can stretch between words and be broken across lines.
It is needed by LyX to output struck out text in change tracked documents
to PDF.
\end_layout
\begin_layout Subsection

View File

@ -566,19 +566,19 @@ bool Buffer::readDocument(Lexer & lex)
if (params().outputChanges) {
bool dvipost = LaTeXFeatures::isAvailable("dvipost");
bool xcolorsoul = LaTeXFeatures::isAvailable("soul") &&
bool xcolorulem = LaTeXFeatures::isAvailable("ulem") &&
LaTeXFeatures::isAvailable("xcolor");
if (!dvipost && !xcolorsoul) {
if (!dvipost && !xcolorulem) {
Alert::warning(_("Changes not shown in LaTeX output"),
_("Changes will not be highlighted in LaTeX output, "
"because neither dvipost nor xcolor/soul are installed.\n"
"because neither dvipost nor xcolor/ulem are installed.\n"
"Please install these packages or redefine "
"\\lyxadded and \\lyxdeleted in the LaTeX preamble."));
} else if (!xcolorsoul) {
} else if (!xcolorulem) {
Alert::warning(_("Changes not shown in LaTeX output"),
_("Changes will not be highlighted in LaTeX output "
"when using pdflatex, because xcolor and soul are not installed.\n"
"when using pdflatex, because xcolor and ulem are not installed.\n"
"Please install both packages or redefine "
"\\lyxadded and \\lyxdeleted in the LaTeX preamble."));
}

View File

@ -858,7 +858,7 @@ void BufferParams::validate(LaTeXFeatures & features) const
if (outputChanges) {
bool dvipost = LaTeXFeatures::isAvailable("dvipost");
bool xcolorsoul = LaTeXFeatures::isAvailable("soul") &&
bool xcolorulem = LaTeXFeatures::isAvailable("ulem") &&
LaTeXFeatures::isAvailable("xcolor");
switch (features.runparams().flavor) {
@ -866,18 +866,18 @@ void BufferParams::validate(LaTeXFeatures & features) const
if (dvipost) {
features.require("ct-dvipost");
features.require("dvipost");
} else if (xcolorsoul) {
features.require("ct-xcolor-soul");
features.require("soul");
} else if (xcolorulem) {
features.require("ct-xcolor-ulem");
features.require("ulem");
features.require("xcolor");
} else {
features.require("ct-none");
}
break;
case OutputParams::PDFLATEX:
if (xcolorsoul) {
features.require("ct-xcolor-soul");
features.require("soul");
if (xcolorulem) {
features.require("ct-xcolor-ulem");
features.require("ulem");
features.require("xcolor");
// improves color handling in PDF output
features.require("pdfcolmk");

View File

@ -1162,19 +1162,19 @@ bool BufferView::dispatch(FuncRequest const & cmd)
buffer_.params().outputChanges = !buffer_.params().outputChanges;
if (buffer_.params().outputChanges) {
bool dvipost = LaTeXFeatures::isAvailable("dvipost");
bool xcolorsoul = LaTeXFeatures::isAvailable("soul") &&
bool xcolorulem = LaTeXFeatures::isAvailable("ulem") &&
LaTeXFeatures::isAvailable("xcolor");
if (!dvipost && !xcolorsoul) {
if (!dvipost && !xcolorulem) {
Alert::warning(_("Changes not shown in LaTeX output"),
_("Changes will not be highlighted in LaTeX output, "
"because neither dvipost nor xcolor/soul are installed.\n"
"because neither dvipost nor xcolor/ulem are installed.\n"
"Please install these packages or redefine "
"\\lyxadded and \\lyxdeleted in the LaTeX preamble."));
} else if (!xcolorsoul) {
} else if (!xcolorulem) {
Alert::warning(_("Changes not shown in LaTeX output"),
_("Changes will not be highlighted in LaTeX output "
"when using pdflatex, because xcolor and soul are not installed.\n"
"when using pdflatex, because xcolor and ulem are not installed.\n"
"Please install both packages or redefine "
"\\lyxadded and \\lyxdeleted in the LaTeX preamble."));
}

View File

@ -174,15 +174,15 @@ static string const changetracking_dvipost_def =
"\\newcommand{\\lyxdeleted}[3]{%\n"
"\\changestart\\overstrikeon#3\\overstrikeoff\\changeend}\n";
static string const changetracking_xcolor_soul_def =
"%% Change tracking with soul\n"
static string const changetracking_xcolor_ulem_def =
"%% Change tracking with ulem\n"
"\\newcommand{\\lyxadded}[3]{{\\color{lyxadded}#3}}\n"
"\\newcommand{\\lyxdeleted}[3]{{\\color{lyxdeleted}\\st{#3}}}\n";
"\\newcommand{\\lyxdeleted}[3]{{\\color{lyxdeleted}\\sout{#3}}}\n";
static string const changetracking_xcolor_soul_hyperref_def =
"%% Change tracking with soul\n"
static string const changetracking_xcolor_ulem_hyperref_def =
"%% Change tracking with ulem\n"
"\\newcommand{\\lyxadded}[3]{{\\texorpdfstring{\\color{lyxadded}}{}#3}}\n"
"\\newcommand{\\lyxdeleted}[3]{{\\texorpdfstring{\\color{lyxdeleted}\\st{#3}}{}}}\n";
"\\newcommand{\\lyxdeleted}[3]{{\\texorpdfstring{\\color{lyxdeleted}\\sout{#3}}{}}}\n";
static string const changetracking_none_def =
"\\newcommand{\\lyxadded}[3]{#3}\n"
@ -687,6 +687,10 @@ string const LaTeXFeatures::getPackages() const
if (mustProvide("xy"))
packages << "\\usepackage[all]{xy}\n";
if (mustProvide("ulem"))
packages << "\\PassOptionsToPackage{normalem}{ulem}\n"
"\\usepackage{ulem}\n";
if (mustProvide("nomencl")) {
// Make it work with the new and old version of the package,
// but don't use the compatibility option since it is
@ -815,7 +819,7 @@ string const LaTeXFeatures::getMacros() const
if (mustProvide("ct-dvipost"))
macros << changetracking_dvipost_def;
if (mustProvide("ct-xcolor-soul")) {
if (mustProvide("ct-xcolor-ulem")) {
int const prec = macros.precision(2);
RGBColor cadd = rgbFromHexName(lcolor.getX11Name(Color_addedtext));
@ -829,9 +833,9 @@ string const LaTeXFeatures::getMacros() const
macros.precision(prec);
if (isRequired("hyperref"))
macros << changetracking_xcolor_soul_hyperref_def;
macros << changetracking_xcolor_ulem_hyperref_def;
else
macros << changetracking_xcolor_soul_def;
macros << changetracking_xcolor_ulem_def;
}
if (mustProvide("ct-none"))