mirror of
https://git.lyx.org/repos/lyx.git
synced 2024-11-22 01:59:02 +00:00
Add support for the nomentbl nomenclature option
file format change
This commit is contained in:
parent
db1d2c7769
commit
13ee0bc8cd
@ -7,6 +7,11 @@ changes happened in particular if possible. A good example would be
|
||||
|
||||
-----------------------
|
||||
|
||||
2024-08-21 Jürgen Spitzmüller <spitz@lyx.org>
|
||||
* Format incremented to 628: Add support for nomentbl-style
|
||||
nomencl insets:
|
||||
\nomenclature[<prefix>]{<symbol>}{<description>}{<units>}{<note>}
|
||||
|
||||
2024-08-12 Jürgen Spitzmüller <spitz@lyx.org>
|
||||
* Format incremented to 627: Transform nomenclature inset to
|
||||
collapsible.
|
||||
|
@ -36723,7 +36723,16 @@ Nom
|
||||
\end_layout
|
||||
|
||||
\begin_layout Standard
|
||||
A nomenclature entry consists of two main entries.
|
||||
|
||||
\change_inserted -712698321 1724253386
|
||||
By default,
|
||||
|
||||
\change_deleted -712698321 1724253387
|
||||
A
|
||||
\change_inserted -712698321 1724253387
|
||||
a
|
||||
\change_unchanged
|
||||
nomenclature entry consists of two main entries.
|
||||
The first is the term or
|
||||
\family sans
|
||||
Symbol
|
||||
@ -36735,7 +36744,7 @@ Description
|
||||
\family default
|
||||
of the term or symbol.
|
||||
|
||||
\change_inserted -712698321 1723454817
|
||||
\change_inserted -712698321 1724253392
|
||||
The former is inserted into the collapsible inset directly,
|
||||
the latter into the
|
||||
\family sans
|
||||
@ -36744,6 +36753,44 @@ Description
|
||||
sub-inset which is automatically inserted or can be inserted via the
|
||||
\family sans
|
||||
Insert
|
||||
\family default
|
||||
menu.
|
||||
\end_layout
|
||||
|
||||
\begin_layout Standard
|
||||
|
||||
\change_inserted -712698321 1724253593
|
||||
In addition to this,
|
||||
you can select a
|
||||
\begin_inset Quotes eld
|
||||
\end_inset
|
||||
|
||||
Tabular
|
||||
\begin_inset Quotes erd
|
||||
\end_inset
|
||||
|
||||
nomenclature style in
|
||||
\family sans
|
||||
Document\SpecialChar menuseparator
|
||||
Settings\SpecialChar menuseparator
|
||||
Indexes & Nomenclature
|
||||
\family default
|
||||
.
|
||||
With this,
|
||||
the nomenclature is set as a multi-page table (with four columns) rather than a list,
|
||||
and it provides two more entries:
|
||||
|
||||
\emph on
|
||||
unit
|
||||
\emph default
|
||||
(for units of all kinds) and
|
||||
\emph on
|
||||
note
|
||||
\emph default
|
||||
(for additional notes).
|
||||
These two entries can also be selected via the
|
||||
\family sans
|
||||
Insert
|
||||
\family default
|
||||
menu.
|
||||
\change_unchanged
|
||||
@ -52215,6 +52262,10 @@ nolink "false"
|
||||
|
||||
\begin_layout Section
|
||||
Indexes
|
||||
\change_inserted -712698321 1724253284
|
||||
& Nomenclature
|
||||
\change_unchanged
|
||||
|
||||
\end_layout
|
||||
|
||||
\begin_layout Standard
|
||||
@ -52235,6 +52286,27 @@ nolink "false"
|
||||
\end_inset
|
||||
|
||||
for details).
|
||||
|
||||
\change_inserted -712698321 1724253333
|
||||
Moreover,
|
||||
you can select a nomenclature style (see section
|
||||
\begin_inset space ~
|
||||
\end_inset
|
||||
|
||||
|
||||
\begin_inset CommandInset ref
|
||||
LatexCommand ref
|
||||
reference "sec:Nomenclature"
|
||||
plural "false"
|
||||
caps "false"
|
||||
noprefix "false"
|
||||
nolink "false"
|
||||
|
||||
\end_inset
|
||||
|
||||
for details).
|
||||
\change_unchanged
|
||||
|
||||
\end_layout
|
||||
|
||||
\begin_layout Section
|
||||
|
@ -35876,7 +35876,7 @@ Nom
|
||||
wird eingefügt.
|
||||
Falls der Cursor direkt hinter einem Wort steht,
|
||||
wird dieses hineinkopiert.
|
||||
Ein Nomenklatur-Eintrag besteht aus zwei Hauptteilen:
|
||||
Ein Nomenklatur-Eintrag besteht im Standard-Stil aus zwei Hauptteilen:
|
||||
das
|
||||
\family sans
|
||||
Symbol
|
||||
@ -35894,6 +35894,39 @@ Beschreibung
|
||||
.
|
||||
\end_layout
|
||||
|
||||
\begin_layout Standard
|
||||
Wenn Sie in
|
||||
\family sans
|
||||
Dokument\SpecialChar menuseparator
|
||||
Einstellungen\SpecialChar menuseparator
|
||||
Stichwortverzeichnis & Nomenklatur
|
||||
\family default
|
||||
den Nomenklatur-Stil
|
||||
\begin_inset Quotes gld
|
||||
\end_inset
|
||||
|
||||
Tabelle
|
||||
\begin_inset Quotes grd
|
||||
\end_inset
|
||||
|
||||
auswählen,
|
||||
wird das Verzeichnis als mehrseitige Tabelle und nicht als Liste gesetzt und Sie haben zwei weitere Teile:
|
||||
|
||||
\family sans
|
||||
Einheit
|
||||
\family default
|
||||
(für Einheiten aller Art) und
|
||||
\family sans
|
||||
Anmerkung
|
||||
\family default
|
||||
(für zusätzliche Informationen).
|
||||
Diese können Sie im Menü
|
||||
\family sans
|
||||
Einfügen
|
||||
\family default
|
||||
auswählen.
|
||||
\end_layout
|
||||
|
||||
\begin_layout Subsection
|
||||
Nomenklaturdefinition und Layout
|
||||
\begin_inset Index idx
|
||||
@ -50592,7 +50625,7 @@ nolink "false"
|
||||
\end_layout
|
||||
|
||||
\begin_layout Section
|
||||
Stichwortverzeichnis
|
||||
Stichwortverzeichnis & Nomenklatur
|
||||
\end_layout
|
||||
|
||||
\begin_layout Standard
|
||||
@ -50614,6 +50647,22 @@ nolink "false"
|
||||
\end_inset
|
||||
|
||||
für Details).
|
||||
Außerdem können Sie hier einen Nomenklatur-Stil auswählen (siehe Abschnitt
|
||||
\begin_inset space ~
|
||||
\end_inset
|
||||
|
||||
|
||||
\begin_inset CommandInset ref
|
||||
LatexCommand ref
|
||||
reference "sec:Nomenklatur/Glossar"
|
||||
plural "false"
|
||||
caps "false"
|
||||
noprefix "false"
|
||||
nolink "false"
|
||||
|
||||
\end_inset
|
||||
|
||||
für Einzelheiten).
|
||||
\end_layout
|
||||
|
||||
\begin_layout Section
|
||||
|
@ -486,6 +486,22 @@ InsetLayout Nomenclature
|
||||
InsertCotext 1
|
||||
End
|
||||
|
||||
InsetLayout Nomenclature:nomentbl
|
||||
CopyStyle Nomenclature
|
||||
Argument post:2
|
||||
LabelString "Unit"
|
||||
Tooltip "Nomenclature unit"
|
||||
AutoInsert 1
|
||||
Mandatory 1
|
||||
EndArgument
|
||||
Argument post:3
|
||||
LabelString "Note"
|
||||
Tooltip "Nomenclature note"
|
||||
AutoInsert 1
|
||||
Mandatory 1
|
||||
EndArgument
|
||||
End
|
||||
|
||||
InsetLayout Box
|
||||
InheritFont false
|
||||
LabelFont
|
||||
|
@ -713,6 +713,152 @@ def revert_index_sc(document):
|
||||
k += len(repl)
|
||||
i += 1
|
||||
|
||||
|
||||
def revert_nomentbl(document):
|
||||
"""Revert nomentbl inset to ERT."""
|
||||
|
||||
i = find_token(document.header, "\\use_nomentbl", 0)
|
||||
if i == -1:
|
||||
document.warning("Malformed document! Missing \\use_nomentbl")
|
||||
return
|
||||
if get_value(document.header, "\\use_nomentbl", i) == 0:
|
||||
# just remove header
|
||||
del document.header[i]
|
||||
return
|
||||
|
||||
# remove header
|
||||
del document.header[i]
|
||||
|
||||
# revert insets to ERT
|
||||
have_nomencl = False
|
||||
i = 0
|
||||
while True:
|
||||
i = find_token(document.body, "\\begin_inset Nomenclature", i)
|
||||
if i == -1:
|
||||
break
|
||||
|
||||
have_nomencl = True
|
||||
j = find_end_of_inset(document.body, i)
|
||||
if j == -1:
|
||||
document.warning(
|
||||
"Malformed LyX document: Can't find end of command inset at line %d" % i
|
||||
)
|
||||
i += 1
|
||||
continue
|
||||
|
||||
arg = find_token(document.body, "\\begin_inset Argument 1", i, j)
|
||||
prefix = []
|
||||
if arg != -1:
|
||||
endarg = find_end_of_inset(document.body, arg)
|
||||
argbeginPlain = find_token(
|
||||
document.body, "\\begin_layout Plain Layout", arg, endarg
|
||||
)
|
||||
if argbeginPlain == -1:
|
||||
document.warning("Malformed LyX document: Can't find optarg plain Layout")
|
||||
continue
|
||||
argendPlain = find_end_of_inset(document.body, argbeginPlain)
|
||||
prefix = document.body[argbeginPlain + 1 : argendPlain - 2]
|
||||
|
||||
# remove Arg insets and paragraph, if it only contains this inset
|
||||
if (
|
||||
document.body[arg - 1] == "\\begin_layout Plain Layout"
|
||||
and find_end_of_layout(document.body, arg - 1) == endarg + 3
|
||||
):
|
||||
del document.body[arg - 1 : endarg + 4]
|
||||
else:
|
||||
del document.body[arg : endarg + 1]
|
||||
|
||||
j = find_end_of_inset(document.body, i)
|
||||
arg = find_token(document.body, "\\begin_inset Argument post:1", i, j)
|
||||
description = []
|
||||
if arg != -1:
|
||||
endarg = find_end_of_inset(document.body, arg)
|
||||
argbeginPlain = find_token(
|
||||
document.body, "\\begin_layout Plain Layout", arg, endarg
|
||||
)
|
||||
if argbeginPlain == -1:
|
||||
document.warning("Malformed LyX document: Can't find arg post:1 plain Layout")
|
||||
continue
|
||||
argendPlain = find_end_of_inset(document.body, argbeginPlain)
|
||||
description = document.body[argbeginPlain + 1 : argendPlain - 2]
|
||||
|
||||
# remove Arg insets and paragraph, if it only contains this inset
|
||||
if (
|
||||
document.body[arg - 1] == "\\begin_layout Plain Layout"
|
||||
and find_end_of_layout(document.body, arg - 1) == endarg + 3
|
||||
):
|
||||
del document.body[arg - 1 : endarg + 4]
|
||||
else:
|
||||
del document.body[arg : endarg + 1]
|
||||
|
||||
j = find_end_of_inset(document.body, i)
|
||||
arg = find_token(document.body, "\\begin_inset Argument post:2", i, j)
|
||||
unit = []
|
||||
if arg != -1:
|
||||
endarg = find_end_of_inset(document.body, arg)
|
||||
argbeginPlain = find_token(
|
||||
document.body, "\\begin_layout Plain Layout", arg, endarg
|
||||
)
|
||||
if argbeginPlain == -1:
|
||||
document.warning("Malformed LyX document: Can't find arg post:2 plain Layout")
|
||||
continue
|
||||
argendPlain = find_end_of_inset(document.body, argbeginPlain)
|
||||
unit = document.body[argbeginPlain + 1 : argendPlain - 2]
|
||||
|
||||
# remove Arg insets and paragraph, if it only contains this inset
|
||||
if (
|
||||
document.body[arg - 1] == "\\begin_layout Plain Layout"
|
||||
and find_end_of_layout(document.body, arg - 1) == endarg + 3
|
||||
):
|
||||
del document.body[arg - 1 : endarg + 4]
|
||||
else:
|
||||
del document.body[arg : endarg + 1]
|
||||
|
||||
j = find_end_of_inset(document.body, i)
|
||||
arg = find_token(document.body, "\\begin_inset Argument post:3", i, j)
|
||||
note = []
|
||||
if arg != -1:
|
||||
endarg = find_end_of_inset(document.body, arg)
|
||||
argbeginPlain = find_token(
|
||||
document.body, "\\begin_layout Plain Layout", arg, endarg
|
||||
)
|
||||
if argbeginPlain == -1:
|
||||
document.warning("Malformed LyX document: Can't find arg post:3 plain Layout")
|
||||
continue
|
||||
argendPlain = find_end_of_inset(document.body, argbeginPlain)
|
||||
note = document.body[argbeginPlain + 1 : argendPlain - 2]
|
||||
|
||||
# remove Arg insets and paragraph, if it only contains this inset
|
||||
if (
|
||||
document.body[arg - 1] == "\\begin_layout Plain Layout"
|
||||
and find_end_of_layout(document.body, arg - 1) == endarg + 3
|
||||
):
|
||||
del document.body[arg - 1 : endarg + 4]
|
||||
else:
|
||||
del document.body[arg : endarg + 1]
|
||||
|
||||
beginPlain = find_token(document.body, "\\begin_layout Plain Layout", i)
|
||||
endPlain = find_end_of_layout(document.body, beginPlain)
|
||||
symbol = document.body[beginPlain + 1 : endPlain]
|
||||
|
||||
# Replace command with ERT
|
||||
res = put_cmd_in_ert(["\\nomenclature"])
|
||||
if prefix:
|
||||
res += put_cmd_in_ert(["["]) + prefix + put_cmd_in_ert(["]"])
|
||||
res += put_cmd_in_ert(["{"]) + symbol + put_cmd_in_ert(["}{"]) \
|
||||
+ description + put_cmd_in_ert(["}{"]) + unit + put_cmd_in_ert(["}{"]) \
|
||||
+ note + put_cmd_in_ert(["}"])
|
||||
|
||||
j = find_end_of_inset(document.body, i)
|
||||
document.body[i : j + 1] = res
|
||||
|
||||
i += 1
|
||||
|
||||
if have_nomencl:
|
||||
document.append_local_layout([r"### Inserted by lyx2lyx (nomencl) ###",
|
||||
r"PackageOptions nomencl nomentbl"])
|
||||
|
||||
|
||||
##
|
||||
# Conversion hub
|
||||
#
|
||||
@ -725,11 +871,13 @@ convert = [
|
||||
[624, [convert_biblatex_chicago]],
|
||||
[625, []],
|
||||
[626, []],
|
||||
[627, [convert_nomencl, convert_index_sc]]
|
||||
[627, [convert_nomencl, convert_index_sc]],
|
||||
[628, []]
|
||||
]
|
||||
|
||||
|
||||
revert = [
|
||||
[627, [revert_nomentbl]],
|
||||
[626, [revert_nomencl, revert_index_sc]],
|
||||
[625, [revert_nomencl_textwidth]],
|
||||
[624, [revert_nptextcite]],
|
||||
|
@ -492,6 +492,7 @@ BufferParams::BufferParams()
|
||||
use_formatted_ref = false;
|
||||
use_minted = false;
|
||||
use_lineno = false;
|
||||
use_nomentbl = false;
|
||||
|
||||
// map current author
|
||||
author_map_[pimpl_->authorlist.get(0).bufferId()] = 0;
|
||||
@ -1211,6 +1212,8 @@ string BufferParams::readToken(Lexer & lex, string const & token,
|
||||
lex >> use_formatted_ref;
|
||||
} else if (token == "\\use_minted") {
|
||||
lex >> use_minted;
|
||||
} else if (token == "\\use_nomentbl") {
|
||||
lex >> use_nomentbl;
|
||||
} else if (token == "\\use_lineno") {
|
||||
lex >> use_lineno;
|
||||
} else if (token == "\\lineno_options") {
|
||||
@ -1439,6 +1442,7 @@ void BufferParams::writeFile(ostream & os, Buffer const * buf) const
|
||||
<< "\n\\use_refstyle " << use_refstyle
|
||||
<< "\n\\use_formatted_ref " << use_formatted_ref
|
||||
<< "\n\\use_minted " << use_minted
|
||||
<< "\n\\use_nomentbl " << use_nomentbl
|
||||
<< "\n\\use_lineno " << use_lineno
|
||||
<< '\n';
|
||||
|
||||
|
@ -619,10 +619,12 @@ public:
|
||||
bool use_formatted_ref;
|
||||
/// use minted? or listings?
|
||||
bool use_minted;
|
||||
//output line numbering
|
||||
/// output line numbering
|
||||
bool use_lineno;
|
||||
//optional params for lineno package
|
||||
/// optional params for lineno package
|
||||
std::string lineno_opts;
|
||||
/// use nomentbl nomenclature sty
|
||||
bool use_nomentbl;
|
||||
|
||||
/// Return true if language could be set to lang,
|
||||
/// otherwise return false and do not change language
|
||||
|
@ -1497,7 +1497,10 @@ string const LaTeXFeatures::getPackages() const
|
||||
"\\usepackage{ulem}\n";
|
||||
|
||||
if (mustProvide("nomencl")) {
|
||||
packages << "\\usepackage{nomencl}\n";
|
||||
packages << "\\usepackage";
|
||||
if (params_.use_nomentbl)
|
||||
packages << "[nomentbl]";
|
||||
packages << "{nomencl}\n";
|
||||
// Make it work with the new and old version of the package,
|
||||
// but don't use the compatibility option since it is
|
||||
// incompatible to other packages.
|
||||
|
@ -1836,7 +1836,7 @@ GuiDocument::GuiDocument(GuiView & lv)
|
||||
docPS->addPanel(changesModule, N_("Change Tracking"));
|
||||
docPS->addPanel(numberingModule, N_("Numbering & TOC"));
|
||||
docPS->addPanel(biblioModule, N_("Bibliography"));
|
||||
docPS->addPanel(indicesModule, N_("Indexes"));
|
||||
docPS->addPanel(indicesModule, N_("Indexes & Nomenclature"));
|
||||
docPS->addPanel(pdfSupportModule, N_("PDF Properties"));
|
||||
docPS->addPanel(mathsModule, N_("Math Options"));
|
||||
docPS->addPanel(floatModule, N_("Float Settings"));
|
||||
|
@ -62,6 +62,10 @@ GuiIndices::GuiIndices(QWidget * parent)
|
||||
indexCO->addItem(command, command);
|
||||
}
|
||||
|
||||
nomenclStyleCO->clear();
|
||||
nomenclStyleCO->addItem(qt_("Default"), QString("default"));
|
||||
nomenclStyleCO->addItem(qt_("Tabular"), QString("tabular"));
|
||||
|
||||
indexOptionsLE->setValidator(new NoNewLineValidator(indexOptionsLE));
|
||||
newIndexLE->setValidator(new NoNewLineValidator(newIndexLE));
|
||||
}
|
||||
@ -104,7 +108,7 @@ void GuiIndices::update(BufferParams const & params, bool const readonly)
|
||||
string options =
|
||||
split(params.index_command, command, ' ');
|
||||
|
||||
int const pos = indexCO->findData(toqstr(command));
|
||||
int pos = indexCO->findData(toqstr(command));
|
||||
if (pos != -1) {
|
||||
indexCO->setCurrentIndex(pos);
|
||||
indexOptionsLE->setText(toqstr(options).trimmed());
|
||||
@ -115,6 +119,9 @@ void GuiIndices::update(BufferParams const & params, bool const readonly)
|
||||
indexOptionsLE->clear();
|
||||
}
|
||||
|
||||
pos = (params.use_nomentbl) ? 1 : 0;
|
||||
nomenclStyleCO->setCurrentIndex(pos);
|
||||
|
||||
updateView();
|
||||
}
|
||||
|
||||
@ -162,6 +169,8 @@ void GuiIndices::apply(BufferParams & params) const
|
||||
params.use_indices = multipleIndicesCB->isChecked();
|
||||
params.indiceslist() = indiceslist_;
|
||||
|
||||
params.use_nomentbl = nomenclStyleCO->currentIndex() == 1;
|
||||
|
||||
string const index_command =
|
||||
fromqstr(indexCO->itemData(
|
||||
indexCO->currentIndex()).toString());
|
||||
@ -300,6 +309,12 @@ void GuiIndices::toggleColor(QTreeWidgetItem * item)
|
||||
updateView();
|
||||
}
|
||||
|
||||
|
||||
void GuiIndices::on_nomenclStyleCO_activated(int)
|
||||
{
|
||||
changed();
|
||||
}
|
||||
|
||||
} // namespace frontend
|
||||
} // namespace lyx
|
||||
|
||||
|
@ -54,6 +54,7 @@ protected Q_SLOTS:
|
||||
void on_indicesTW_itemSelectionChanged();
|
||||
void on_colorPB_clicked();
|
||||
void on_multipleIndicesCB_toggled(bool);
|
||||
void on_nomenclStyleCO_activated(int);
|
||||
|
||||
private:
|
||||
///
|
||||
|
@ -1,78 +1,96 @@
|
||||
<ui version="4.0" >
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<ui version="4.0">
|
||||
<class>IndicesUi</class>
|
||||
<widget class="QWidget" name="IndicesUi" >
|
||||
<property name="geometry" >
|
||||
<widget class="QWidget" name="IndicesUi">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>401</width>
|
||||
<height>340</height>
|
||||
<width>341</width>
|
||||
<height>479</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="windowTitle" >
|
||||
<property name="windowTitle">
|
||||
<string/>
|
||||
</property>
|
||||
<layout class="QGridLayout" name="gridLayout" >
|
||||
<item row="0" column="0" colspan="2" >
|
||||
<widget class="QGroupBox" name="indexGB" >
|
||||
<property name="toolTip" >
|
||||
<layout class="QGridLayout" name="gridLayout_4">
|
||||
<item row="1" column="0">
|
||||
<widget class="QCheckBox" name="multipleIndicesCB">
|
||||
<property name="toolTip">
|
||||
<string>Check if you need multiple indexes (e.g., an Index of Names)</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>&Use multiple indexes</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="0">
|
||||
<widget class="Line" name="line">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Orientation::Horizontal</enum>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="0">
|
||||
<widget class="QGroupBox" name="indexGB">
|
||||
<property name="toolTip">
|
||||
<string>Here you can define an alternative index processor and specify its options.</string>
|
||||
</property>
|
||||
<property name="title" >
|
||||
<property name="title">
|
||||
<string>Index Generation</string>
|
||||
</property>
|
||||
<property name="flat" >
|
||||
<property name="flat">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<layout class="QGridLayout" name="gridLayout_2" >
|
||||
<item row="0" column="0" >
|
||||
<layout class="QHBoxLayout" name="horizontalLayout" >
|
||||
<layout class="QGridLayout" name="gridLayout_2">
|
||||
<item row="0" column="0">
|
||||
<layout class="QHBoxLayout" name="horizontalLayout">
|
||||
<item>
|
||||
<widget class="QLabel" name="indexLA" >
|
||||
<property name="text" >
|
||||
<widget class="QLabel" name="indexLA">
|
||||
<property name="text">
|
||||
<string>&Processor:</string>
|
||||
</property>
|
||||
<property name="buddy" >
|
||||
<property name="buddy">
|
||||
<cstring>indexCO</cstring>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QComboBox" name="indexCO" >
|
||||
<property name="toolTip" >
|
||||
<widget class="QComboBox" name="indexCO">
|
||||
<property name="toolTip">
|
||||
<string>Select a processor</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
<item row="1" column="0" >
|
||||
<layout class="QHBoxLayout" name="horizontalLayout_2" >
|
||||
<item row="1" column="0">
|
||||
<layout class="QHBoxLayout" name="horizontalLayout_2">
|
||||
<item>
|
||||
<widget class="QLabel" name="indexOptionsLA" >
|
||||
<property name="text" >
|
||||
<widget class="QLabel" name="indexOptionsLA">
|
||||
<property name="text">
|
||||
<string>&Options:</string>
|
||||
</property>
|
||||
<property name="buddy" >
|
||||
<property name="buddy">
|
||||
<cstring>indexOptionsLE</cstring>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QLineEdit" name="indexOptionsLE" >
|
||||
<property name="toolTip" >
|
||||
<widget class="QLineEdit" name="indexOptionsLE">
|
||||
<property name="toolTip">
|
||||
<string>Define program options of the selected processor.</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
<item rowspan="2" row="0" column="1" >
|
||||
<spacer name="horizontalSpacer" >
|
||||
<property name="orientation" >
|
||||
<enum>Qt::Horizontal</enum>
|
||||
<item row="0" column="1" rowspan="2">
|
||||
<spacer name="horizontalSpacer">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Orientation::Horizontal</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0" >
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>183</width>
|
||||
<height>20</height>
|
||||
@ -83,129 +101,169 @@
|
||||
</layout>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="0" >
|
||||
<widget class="QCheckBox" name="multipleIndicesCB" >
|
||||
<property name="toolTip" >
|
||||
<string>Check if you need multiple indexes (e.g., an Index of Names)</string>
|
||||
</property>
|
||||
<property name="text" >
|
||||
<string>&Use multiple indexes</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="0" colspan="2" >
|
||||
<widget class="Line" name="line" >
|
||||
<property name="orientation" >
|
||||
<enum>Qt::Horizontal</enum>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="3" column="0" colspan="2" >
|
||||
<layout class="QHBoxLayout" >
|
||||
<property name="spacing" >
|
||||
<item row="3" column="0">
|
||||
<layout class="QHBoxLayout">
|
||||
<property name="spacing">
|
||||
<number>6</number>
|
||||
</property>
|
||||
<property name="margin" >
|
||||
<property name="margin" stdset="0">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<item>
|
||||
<widget class="QLabel" name="newIndexLA" >
|
||||
<property name="text" >
|
||||
<widget class="QLabel" name="newIndexLA">
|
||||
<property name="text">
|
||||
<string>&New:[[index]]</string>
|
||||
</property>
|
||||
<property name="buddy" >
|
||||
<property name="buddy">
|
||||
<cstring>newIndexLE</cstring>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QLineEdit" name="newIndexLE" >
|
||||
<property name="toolTip" >
|
||||
<string>Enter the name of the desired index (e.g. "Index of Names") and hit "Add"</string>
|
||||
<widget class="QLineEdit" name="newIndexLE">
|
||||
<property name="toolTip">
|
||||
<string>Enter the name of the desired index (e.g. "Index of Names") and hit "Add"</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QPushButton" name="addIndexPB" >
|
||||
<property name="toolTip" >
|
||||
<widget class="QPushButton" name="addIndexPB">
|
||||
<property name="toolTip">
|
||||
<string>Add a new index to the list</string>
|
||||
</property>
|
||||
<property name="text" >
|
||||
<property name="text">
|
||||
<string>&Add</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
<item row="4" column="0" >
|
||||
<widget class="QLabel" name="availableLA" >
|
||||
<property name="text" >
|
||||
<item row="6" column="0">
|
||||
<widget class="QGroupBox" name="nomenclGB">
|
||||
<property name="title">
|
||||
<string>Nomenclature</string>
|
||||
</property>
|
||||
<layout class="QGridLayout" name="gridLayout_3">
|
||||
<item row="0" column="1">
|
||||
<widget class="QComboBox" name="nomenclStyleCO"/>
|
||||
</item>
|
||||
<item row="0" column="0">
|
||||
<widget class="QLabel" name="nomenclStyleLA">
|
||||
<property name="text">
|
||||
<string>Nomenclature St&yle:</string>
|
||||
</property>
|
||||
<property name="buddy">
|
||||
<cstring>nomenclStyleCO</cstring>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="2">
|
||||
<spacer name="horizontalSpacer_2">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Orientation::Horizontal</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>40</width>
|
||||
<height>20</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="5" column="0">
|
||||
<layout class="QGridLayout" name="gridLayout">
|
||||
<item row="0" column="0" rowspan="4">
|
||||
<widget class="QTreeWidget" name="indicesTW">
|
||||
<column>
|
||||
<property name="text">
|
||||
<string>1</string>
|
||||
</property>
|
||||
</column>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="1">
|
||||
<widget class="QPushButton" name="removePB">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Fixed" vsizetype="Fixed">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="toolTip">
|
||||
<string>Remove the selected index</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>&Remove</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="1">
|
||||
<widget class="QPushButton" name="renamePB">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Fixed" vsizetype="Fixed">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="toolTip">
|
||||
<string>Rename the selected index</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>R&ename...</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="1">
|
||||
<widget class="QPushButton" name="colorPB">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Fixed" vsizetype="Fixed">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="toolTip">
|
||||
<string>Define or change button color</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Alter Co&lor...</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="3" column="1">
|
||||
<spacer>
|
||||
<property name="orientation">
|
||||
<enum>Qt::Orientation::Vertical</enum>
|
||||
</property>
|
||||
<property name="sizeType">
|
||||
<enum>QSizePolicy::Policy::Expanding</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>20</width>
|
||||
<height>121</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
<item row="4" column="0">
|
||||
<widget class="QLabel" name="availableLA">
|
||||
<property name="text">
|
||||
<string>A&vailable Indexes:</string>
|
||||
</property>
|
||||
<property name="buddy" >
|
||||
<property name="buddy">
|
||||
<cstring>indicesTW</cstring>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item rowspan="4" row="5" column="0" >
|
||||
<widget class="QTreeWidget" name="indicesTW" >
|
||||
<column>
|
||||
<property name="text" >
|
||||
<string>1</string>
|
||||
</property>
|
||||
</column>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="5" column="1" >
|
||||
<widget class="QPushButton" name="removePB" >
|
||||
<property name="toolTip" >
|
||||
<string>Remove the selected index</string>
|
||||
</property>
|
||||
<property name="text" >
|
||||
<string>&Remove</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="6" column="1" >
|
||||
<widget class="QPushButton" name="renamePB" >
|
||||
<property name="toolTip" >
|
||||
<string>Rename the selected index</string>
|
||||
</property>
|
||||
<property name="text" >
|
||||
<string>R&ename...</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="7" column="1" >
|
||||
<widget class="QPushButton" name="colorPB" >
|
||||
<property name="toolTip" >
|
||||
<string>Define or change button color</string>
|
||||
</property>
|
||||
<property name="text" >
|
||||
<string>Alter Co&lor...</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="8" column="1" >
|
||||
<spacer>
|
||||
<property name="orientation" >
|
||||
<enum>Qt::Vertical</enum>
|
||||
</property>
|
||||
<property name="sizeType" >
|
||||
<enum>QSizePolicy::Expanding</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0" >
|
||||
<size>
|
||||
<width>20</width>
|
||||
<height>121</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
<includes>
|
||||
<include location="local" >qt_i18n.h</include>
|
||||
<include location="local">qt_i18n.h</include>
|
||||
</includes>
|
||||
<resources/>
|
||||
<connections/>
|
||||
|
@ -16,6 +16,7 @@
|
||||
#include "InsetArgument.h"
|
||||
|
||||
#include "Buffer.h"
|
||||
#include "BufferParams.h"
|
||||
#include "Cursor.h"
|
||||
#include "DispatchResult.h"
|
||||
#include "Font.h"
|
||||
@ -71,7 +72,7 @@ docstring InsetNomencl::toolTip(BufferView const & /*bv*/, int /*x*/, int /*y*/)
|
||||
|
||||
void InsetNomencl::write(ostream & os) const
|
||||
{
|
||||
os << to_utf8(layoutName()) << endl;
|
||||
os << "Nomenclature" << endl;
|
||||
InsetCollapsible::write(os);
|
||||
}
|
||||
|
||||
@ -151,6 +152,14 @@ void InsetNomencl::addToToc(DocIterator const & cpit, bool output_active,
|
||||
}
|
||||
|
||||
|
||||
docstring InsetNomencl::layoutName() const
|
||||
{
|
||||
return (buffer().params().use_nomentbl) ?
|
||||
from_ascii("Nomenclature:nomentbl")
|
||||
: from_ascii("Nomenclature");
|
||||
}
|
||||
|
||||
|
||||
/////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// InsetPrintNomencl
|
||||
|
@ -68,7 +68,7 @@ private:
|
||||
/// \name Private functions inherited from InsetCollapsible class
|
||||
//@{
|
||||
///
|
||||
docstring layoutName() const override { return from_ascii("Nomenclature"); }
|
||||
docstring layoutName() const override;
|
||||
///
|
||||
void write(std::ostream & os) const override;
|
||||
//@}
|
||||
|
@ -616,6 +616,7 @@ Preamble::Preamble() : one_language(true), explicit_babel(false),
|
||||
h_use_lineno = "false";
|
||||
h_use_refstyle = false;
|
||||
h_use_minted = false;
|
||||
h_use_nomentbl = false;
|
||||
h_use_packages["amsmath"] = "1";
|
||||
h_use_packages["amssymb"] = "0";
|
||||
h_use_packages["cancel"] = "0";
|
||||
@ -1778,6 +1779,19 @@ void Preamble::handle_package(Parser &p, string const & name,
|
||||
}
|
||||
}
|
||||
|
||||
else if (name == "nomencl") {
|
||||
vector<string>::iterator it =
|
||||
find(options.begin(), options.end(), "nomentbl");
|
||||
if (it != options.end()) {
|
||||
h_use_nomentbl = true;
|
||||
options.erase(it);
|
||||
}
|
||||
if (!options.empty())
|
||||
// Fixme: add PackageOptions to local layout
|
||||
warning_message("Ignoring options '" + join(options, ",")
|
||||
+ "' of package " + name + '.');
|
||||
}
|
||||
|
||||
else if (name == "geometry")
|
||||
handle_geometry(options);
|
||||
|
||||
@ -2107,6 +2121,7 @@ bool Preamble::writeLyXHeader(ostream & os, bool subdoc, string const & outfiled
|
||||
<< "\\justification " << h_justification << '\n'
|
||||
<< "\\use_refstyle " << h_use_refstyle << '\n'
|
||||
<< "\\use_minted " << h_use_minted << '\n'
|
||||
<< "\\use_nomentbl " << h_use_nomentbl << '\n'
|
||||
<< "\\use_lineno " << h_use_lineno << '\n';
|
||||
if (!h_lineno_options.empty())
|
||||
os << "\\lineno_options " << h_lineno_options << '\n';
|
||||
|
@ -50,6 +50,8 @@ public:
|
||||
void fontCJK(std::string const & f) { h_font_cjk_set = true; h_font_cjk = f; }
|
||||
///
|
||||
bool minted() const { return h_use_minted; }
|
||||
///
|
||||
bool nomentbl() const { return h_use_nomentbl; }
|
||||
/// The document language
|
||||
std::string docLanguage() const { return h_language; }
|
||||
/// The language of text which is not explicitly marked
|
||||
@ -255,6 +257,7 @@ private:
|
||||
std::vector<std::string> h_includeonlys;
|
||||
bool h_use_refstyle;
|
||||
bool h_use_minted;
|
||||
bool h_use_nomentbl;
|
||||
|
||||
/*!
|
||||
* Add package \p name with options \p options to used_packages.
|
||||
|
@ -5010,7 +5010,10 @@ void parse_text(Parser & p, ostream & os, unsigned flags, bool outer,
|
||||
set<string> pass_thru_cmds = context.pass_thru_cmds;
|
||||
// These commands have special meanings in Nomenclature
|
||||
context.pass_thru_cmds.insert("%");
|
||||
parse_text_in_inset(p, os, FLAG_ITEM, outer, context, "Nomenclature");
|
||||
if (preamble.nomentbl())
|
||||
parse_text_in_inset(p, os, FLAG_ITEM, outer, context, "Nomenclature:nomentbl");
|
||||
else
|
||||
parse_text_in_inset(p, os, FLAG_ITEM, outer, context, "Nomenclature");
|
||||
context.pass_thru_cmds = pass_thru_cmds;
|
||||
end_inset(os);
|
||||
preamble.registerAutomaticallyLoadedPackage("nomencl");
|
||||
|
@ -32,8 +32,8 @@ extern char const * const lyx_version_info;
|
||||
|
||||
// Do not remove the comment below, so we get merge conflict in
|
||||
// independent branches. Instead add your own.
|
||||
#define LYX_FORMAT_LYX 627 // spitz: nomencl collapsible
|
||||
#define LYX_FORMAT_TEX2LYX 627
|
||||
#define LYX_FORMAT_LYX 628 // spitz: nomentbl
|
||||
#define LYX_FORMAT_TEX2LYX 628
|
||||
|
||||
#if LYX_FORMAT_TEX2LYX != LYX_FORMAT_LYX
|
||||
#ifndef _MSC_VER
|
||||
|
Loading…
Reference in New Issue
Block a user