Import \sindex correctly

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@40804 a592a061-630c-0410-9148-cb99ea01b6c8
This commit is contained in:
Georg Baum 2012-02-28 20:34:50 +00:00
parent 3929a71cd0
commit 190ab4774d
4 changed files with 15 additions and 7 deletions

View File

@ -479,7 +479,7 @@ $$
\ifthenelse
\includegraphics*[,][,]{} % LyX 1.0 doesn't support clipping figures
\indent
\index{}
\index{translate}
\indexentry{}{} % only in .idx files (JMarc)
\indexname
\indexspace
@ -572,7 +572,7 @@ $$
\pdfstringdef{}{} % from the hyperref package
\poptabs
\prefacename
\printindex
\printindex[]{}
\protect
\providecommand{}[][]{}
\providecommand*{}[][]{}
@ -633,6 +633,7 @@ $$
\shortstack[]{translate}
\showhyphens{}
\signature{}
\sindex[]{translate} %splitidx.sty
\sldefault
\sloppy
\stepcounter{}

View File

@ -728,6 +728,8 @@ void Preamble::handle_package(Parser &p, string const & name,
}
else if (is_known(name, known_lyx_packages) && options.empty()) {
if (name == "splitidx")
h_use_indices = "true";
if (!in_lyx_preamble)
h_preamble << package_beg_sep << name
<< package_mid_sep << "\\usepackage{"

View File

@ -20,6 +20,7 @@
\usepackage{varioref}
\usepackage{prettyref}
\usepackage{makeidx}
\usepackage{splitidx}
\makeindex
\usepackage{graphicx}
@ -439,7 +440,7 @@ test\phantom{\textcolor{green}{W}\mathbf{ow}\textsuperscript{Wow}}test
$test\vphantom{Wow\&\%}test$
\subsection{Line breaks}
\subsection{Line breaks\sindex[breaks]{Line breaks}}
They can also or be broken by a newline\\
or by a starred newline \\*
@ -454,7 +455,7 @@ There are even newlines with weird arguments, but these are not
handled by LyX\\*[1cm]
so we try to use ERT in this case.
\subsection{Page breaks}
\subsection{Page breaks\sindex[breaks]{Page breaks}}
They can also or be broken by a newpage \newpage
or by a page break \pagebreak

View File

@ -3202,12 +3202,16 @@ void parse_text(Parser & p, ostream & os, unsigned flags, bool outer,
btprint = key;
}
else if (t.cs() == "index") {
else if (t.cs() == "index" ||
(t.cs() == "sindex" && preamble.use_indices() == "true")) {
context.check_layout(os);
begin_inset(os, "Index idx\n");
os << "status collapsed\n";
string const kind = (t.cs() == "index") ? "idx" : p.getArg('[', ']');
begin_inset(os, "Index ");
os << kind << "\nstatus collapsed\n";
parse_text_in_inset(p, os, FLAG_ITEM, false, context, "Index");
end_inset(os);
if (t.cs() == "sindex")
preamble.registerAutomaticallyLoadedPackage("splitidx");
}
else if (t.cs() == "nomenclature") {