mirror of
https://git.lyx.org/repos/lyx.git
synced 2024-11-21 17:51:03 +00:00
DocBook: fix float tags (was unduly overridden).
The output was not valid for floats without title.
This commit is contained in:
parent
39ad6e84f0
commit
78a361778f
@ -6,6 +6,11 @@
|
||||
|
||||
cmake_minimum_required(VERSION 3.1.0)
|
||||
|
||||
set(CMAKE_CXX_STANDARD 20)
|
||||
set(GNUWIN32_DIR D:/LyX/lyx-unstable/lyx-windows-deps-msvc2017)
|
||||
set(LYX_USE_QT "QT5")
|
||||
set(LYX_REQUIRE_SPELLCHECK true)
|
||||
|
||||
set(LYX_PROJECT LyX)
|
||||
|
||||
# Instruct cmake to not use gnu extensions,
|
||||
|
@ -164,7 +164,7 @@ I am a second line of code.
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<table>
|
||||
<informaltable>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td align='center' valign='top'>Table that has no caption 1</td>
|
||||
@ -182,7 +182,7 @@ I am a second line of code.
|
||||
<td align='center' valign='top'>Col 3, row 2</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</informaltable>
|
||||
|
||||
<para>Then, one figure: </para>
|
||||
<figure>
|
||||
|
@ -20,7 +20,6 @@ Float
|
||||
UsesFloatPkg false
|
||||
ListCommand listoftables
|
||||
RefPrefix tab
|
||||
DocBookTag table
|
||||
End
|
||||
|
||||
|
||||
@ -36,7 +35,6 @@ Float
|
||||
UsesFloatPkg false
|
||||
ListCommand listoffigures
|
||||
RefPrefix fig
|
||||
DocBookTag figure
|
||||
End
|
||||
|
||||
|
||||
@ -51,7 +49,6 @@ Float
|
||||
IsPredefined false
|
||||
UsesFloatPkg true
|
||||
RefPrefix alg
|
||||
DocBookTag figure # TODO: No DocBook tag really corresponds...
|
||||
End
|
||||
|
||||
|
||||
|
@ -40,8 +40,7 @@ Floating::Floating(string const & type, string const & placement,
|
||||
usesfloatpkg_(usesfloat), ispredefined_(ispredefined),
|
||||
allowswide_(allowswide), allowssideways_(allowssideways),
|
||||
html_tag_(htmlTag), html_attrib_(htmlAttrib), html_style_(htmlStyle),
|
||||
docbook_tag_(docbookTag), docbook_attr_(docbookAttr),
|
||||
docbook_tag_type_(docbookTagType)
|
||||
docbook_attr_(docbookAttr), docbook_tag_type_(docbookTagType)
|
||||
{}
|
||||
|
||||
|
||||
@ -89,21 +88,17 @@ string const & Floating::docbookAttr() const
|
||||
}
|
||||
|
||||
|
||||
string const & Floating::docbookTag(bool hasTitle) const
|
||||
string Floating::docbookTag(bool hasTitle) const
|
||||
{
|
||||
if (docbook_tag_.empty()) {
|
||||
docbook_tag_ = "";
|
||||
if (floattype_ == "figure") {
|
||||
docbook_tag_ = hasTitle ? "figure" : "informalfigure";
|
||||
} else if (floattype_ == "table") {
|
||||
docbook_tag_ = hasTitle ? "table" : "informaltable";
|
||||
} else if (floattype_ == "algorithm") {
|
||||
// TODO: no good translation for now! Figures are the closest match, as they can contain text.
|
||||
// Solvable as soon as https://github.com/docbook/docbook/issues/157 has a definitive answer.
|
||||
docbook_tag_ = "figure";
|
||||
}
|
||||
if (floattype_ == "figure") {
|
||||
return hasTitle ? "figure" : "informalfigure";
|
||||
} else if (floattype_ == "table") {
|
||||
return hasTitle ? "table" : "informaltable";
|
||||
} else if (floattype_ == "algorithm") {
|
||||
// TODO: no good translation for now! Figures are the closest match, as they can contain text.
|
||||
// Solvable as soon as https://github.com/docbook/docbook/issues/157 has a definitive answer.
|
||||
return "figure";
|
||||
}
|
||||
return docbook_tag_;
|
||||
}
|
||||
|
||||
|
||||
|
@ -81,7 +81,7 @@ public:
|
||||
/// tag type, defaults to "div"
|
||||
std::string const & htmlTag() const;
|
||||
///
|
||||
std::string const & docbookTag(bool hasTitle = false) const;
|
||||
std::string docbookTag(bool hasTitle = false) const;
|
||||
///
|
||||
std::string const & docbookAttr() const;
|
||||
///
|
||||
@ -129,8 +129,8 @@ private:
|
||||
mutable std::string defaultcssclass_;
|
||||
///
|
||||
docstring html_style_;
|
||||
/// DocBook tag
|
||||
mutable std::string docbook_tag_;
|
||||
// There is no way to override the DocBook tag based on the layouts: half of it is determined by whether the float
|
||||
// has a title or not, an information that is not available in the layouts.
|
||||
/// attribute (mostly, role)
|
||||
mutable std::string docbook_caption_;
|
||||
/// caption tag (mostly, either caption or title)
|
||||
|
@ -654,7 +654,7 @@ void docbookNoSubfigures(XMLStream & xs, OutputParams const & runparams, const I
|
||||
|
||||
xs << xml::StartTag(ftype.docbookTag(caption != nullptr), attr);
|
||||
xs << xml::CR();
|
||||
if (caption != nullptr) {
|
||||
if (caption) {
|
||||
xs << xml::StartTag(titleTag);
|
||||
caption->getCaptionAsDocBook(xs, rpNoLabel);
|
||||
xs << xml::EndTag(titleTag);
|
||||
|
@ -2429,7 +2429,7 @@ void InsetMathHull::docbook(XMLStream & xs, OutputParams const & runparams) cons
|
||||
}
|
||||
|
||||
// DocBook also has <equation>, but it comes with a title.
|
||||
// TODO: recognise \tag from amsmath?
|
||||
// TODO: recognise \tag from amsmath? This would allow having <equation> with a proper title.
|
||||
|
||||
docstring attr;
|
||||
for (row_type i = 0; i < nrows(); ++i) {
|
||||
|
Loading…
Reference in New Issue
Block a user