Commit Graph

169 Commits

Author SHA1 Message Date
Thibaut Cuvelier
ac98f21f8c DocBook: for books only, create a preface around the first few elements so that the result is valid.
Books can only contain parts and chapters, not single sections or text after the abstract.
2021-02-14 05:20:36 +01:00
Thibaut Cuvelier
0c5e10f36b This should fix a few type-conversion warnings. 2020-12-05 22:52:41 +01:00
Thibaut Cuvelier
59acb375d1 DocBook: add layout parameters to control the special case and argument positioning.
Only for flex insets.

Also add similar checks in InsetText to avoid bibliographies in paragraphs.
2020-11-29 22:54:03 +01:00
Thibaut Cuvelier
a8de4d3296 DocBook: clean the special-case code. 2020-11-29 22:54:02 +01:00
Thibaut Cuvelier
633a617841 DocBook: implement Copernicus.
Includes a fix when wrappers are used with empty paragraphs. The logic is probably wrong if two legit wrapped paragraphs have one empty paragraph in the middle. This is only for slightly convoluted cases... Wrapping decisions should rather be taken for a series of paragraphs at once, but it would be more complex to implement and would only solve very peculiar cases like these ones.
2020-11-28 04:56:19 +01:00
Thibaut Cuvelier
14cfcf00cb DocBook: implement AEA and APA. 2020-11-28 00:51:35 +01:00
Thibaut Cuvelier
dfb1ad85fa amend bd9dce3749
Fix warning, add a comment while I'm there
2020-11-27 17:59:35 +01:00
Thibaut Cuvelier
bd9dce3749 DocBook: bug fixes for JASA.
Includes more consistent behaviour for bibliographies in appendix (do the same as LyX shows the user, i.e. bibliography in appendix).
2020-11-27 05:53:46 +01:00
Thibaut Cuvelier
6201158e5d DocBook: fix appendices. 2020-11-27 02:50:03 +01:00
Thibaut Cuvelier
587f1f5571 DocBook: implement Mathematical Monthly. 2020-11-27 01:54:00 +01:00
Thibaut Cuvelier
46d90b3415 amend dae0640436
Fix a warning in the code.
2020-11-26 23:33:03 +01:00
Thibaut Cuvelier
ed6fbdd249 DocBook: implement Kluwer.
Includes an assertion fix that only occurred with this example.
2020-11-26 06:41:13 +01:00
Thibaut Cuvelier
dae0640436 DocBook: implement REVTeX.
Improvements to abstract detection: it can now contain lists or anything with a higher depth.

Implement video floats.
2020-11-26 06:22:27 +01:00
Yuriy Skalko
43b16548b4 Cleanup headers 2020-11-25 02:43:16 +02:00
Thibaut Cuvelier
2bbfc726c4 amend 2c6537ff for C++11 compatibility 2020-11-20 21:59:22 +01:00
Thibaut Cuvelier
3a02251bfa XML: move higher-level tag-opening and closing functions to xml namespace. 2020-11-20 18:41:03 +01:00
Thibaut Cuvelier
2c6537ff66 DocBook: ensure that <info>-related insets in the abstract are not generated in the abstract.
This helps generate more conformant DocBook files.

Also implement wrapper tags for InsetText.
2020-11-20 18:41:02 +01:00
Thibaut Cuvelier
c6fe1fbe5f DocBook: implement svglobal. 2020-11-16 20:15:34 +01:00
Thibaut Cuvelier
dc94abf039 DocBook: specific fix for Localization_Test.lyx.
In one paragraph, there was both a float and a list of floats in a paragraph: the list of floats has no DocBook output, so that there should be no surrounding <para>.
2020-11-15 19:04:21 +01:00
Thibaut Cuvelier
0ed820fa0b DocBook: fix for nomenclature xml:id and glossary paragraphs.
Previously, the xml:id's were not consistent among <glossterm> in the text and <glossentry> in the glossary.
2020-11-15 18:43:58 +01:00
Thibaut Cuvelier
6bc04367cf DocBook: add support for IGNORE tags.
These paragraphs will simply have no output (no enclosing DocBook tag, no content). This change is as backward-compatible as possible: without this commit, the paragraphs will be output, but in an <IGNORE> tag (not much more can be achieved without this). It is mostly made for metadata and formatting instructions. (As opposed to NONE, which corresponds to outputting the paragraph without enclosing DocBook tag.)
2020-11-15 04:03:04 +01:00
Thibaut Cuvelier
7f8d0fd7b7 DocBook: ensure that tables do not get wrapped in a paragraph. 2020-11-05 02:03:34 +01:00
Thibaut Cuvelier
307aefef89 DocBook: don't consider bridgeheads for abstracts. 2020-11-05 00:02:59 +01:00
Thibaut Cuvelier
ebfdac4fa3 DocBook: implement svmult.
More generally, ensures that paragraphs in abstracts do not have something else configured.

A major problem in making the layout more useful is that article titles are not supposed to be in TOC.
2020-11-02 04:30:39 +01:00
Thibaut Cuvelier
df0ea858ed DocBook: use the same normalisation for biblio IDs and their references. 2020-10-30 01:59:34 +01:00
Thibaut Cuvelier
da6e999fc6 DocBook: more robust list implementation. 2020-10-30 01:59:34 +01:00
Thibaut Cuvelier
30572880ba DocBook: fix an issue where parts of list in abstract were duplicated.
Excerpt from export/latex/lyxbugs-resolved/9633-languagenesting_enumerate_and_lyxcode.
2020-10-30 01:59:34 +01:00
Thibaut Cuvelier
661c5d256b DocBook: support for <info> tags in inner sections.
Previously, this code only worked correctly for the root tag.
2020-10-30 01:59:34 +01:00
Thibaut Cuvelier
f2b7f8a089 DocBook: generate chapter metadata in <info>, for Springer mono. 2020-10-30 01:59:34 +01:00
Thibaut Cuvelier
b816cb0f3c DocBook: don't consider sectioning items that shouldn't be in TOC for anything section-related. 2020-10-30 01:59:34 +01:00
Thibaut Cuvelier
149e1ccc02 DocBook: add DocBookSection parameter for styles that define new sections and implement argument parameters; improve Springer support.
For elements that should behave like sections (for now, mostly prefaces).

A second paragraph of PartBacktext can only wreak havok: it should start a section, and nothing else (otherwise, it's a real nightmare to implement).
2020-10-30 01:59:34 +01:00
Yuriy Skalko
10272e4747 Move include of own header to the top. Fix dependencies 2020-10-25 19:58:57 +02:00
Thibaut Cuvelier
d1b9af3b1d DocBook: fix file inclusion.
Previously, nothing was output. Special care was needed for when new paragraphs should be open (this work is probably not finished yet).
2020-10-20 02:34:02 +02:00
Thibaut Cuvelier
7be7026386 DocBook: generalise detection of "special cases" to check all insets of a paragraph.
This will catch cases where there are multiple listings in a single paragraph, for instance.

The new code is also less brittle (checks on lyxCode instead of generated LaTeX or names).
2020-10-18 08:23:37 +02:00
Thibaut Cuvelier
739735ab73 DocBook: output inline equations in their own paragraph if they are the only inset of the paragraph.
It's invalid to have an <inlineequation> outside a paragraph. Another solution would have been to change InsetMathHull::docbook to generate an <informalequation>, but that function would have required more knowledge about its context than now.

Need more tests to determine if <inlineequation> should only be output for hullSimple or in more cases like:

		const static std::set<HullType> inlineHulls = {
				hullUnknown,
				hullNone,
				hullSimple,
				hullEquation,
				hullMultline,
				hullGather,
				hullRegexp
		};
2020-10-18 08:23:36 +02:00
Thibaut Cuvelier
0ba9b7c0c8 DocBook: fix an assertion/crash. 2020-10-16 17:02:24 +02:00
Thibaut Cuvelier
170866986c Amend 82ea3d6
Test was done on the wrong data structure: the title is almost the only element ending up in shouldBeInInfo, it is never inmustBeInInfo.
2020-10-16 04:30:41 +02:00
Thibaut Cuvelier
82ea3d67ec DocBook: documents must have a title. 2020-10-12 19:26:37 +02:00
Thibaut Cuvelier
0bd2978ac9 DocBook: add DocBookInnerTag and family.
This allows old DocBook documents to be valid when output.
2020-10-07 06:05:22 +02:00
Thibaut Cuvelier
bfeb3b66b1 DocBook: slight code simplification. 2020-09-19 20:43:41 +02:00
Thibaut Cuvelier
50f011e062 DocBook: implement InsetBox titles. 2020-09-19 20:43:41 +02:00
Thibaut Cuvelier
3711a38b9c DocBook: fix a crash in bibliography paragraphs. 2020-09-19 20:43:41 +02:00
Scott Kostyshak
a632a9ae3c DocBook: remove useless functions. 2020-09-19 20:43:40 +02:00
Thibaut Cuvelier
1a76fb9658 DocBook: avoid using isspace in StartTag::writeTag.
This is the cause of crashes (on both Windows and Linux).
2020-09-19 20:43:40 +02:00
Thibaut Cuvelier
08a58242c1 DocBook: better output with the Linguistics module.
One issue left: <table> output within an <informaltable>, that does not make sense... I'm debugging it.
2020-09-19 20:43:40 +02:00
Thibaut Cuvelier
abed1f3e6e DocBook: fix crash with Linguistics example.
This was due to Floating::docbookTag not returning anything with the floattype_ tableau. Another issue that happened with that document is that the standard library's isspace crashed for some characters. I therefore implemented a more efficient version of the part that required it, and inlined the definition of isspace (even though that part becomes irrespective of locale, but was that feature ever used?).
2020-09-19 20:43:40 +02:00
Thibaut Cuvelier
594a4763b7 Fix a few warnings. 2020-09-19 20:43:40 +02:00
Thibaut Cuvelier
e3da8b65f6 DocBook: several missing features for Additional.lyx.
Includes: semantic markup (sorry about noun: Additional.lyx uses it to mark menus; there is something better in DocBook, but it looks like the LaTeX equivalent is really for person names), boxes, info layouts.
2020-09-19 20:43:40 +02:00
Thibaut Cuvelier
19734ea454 DocBook: implement LyX-Code.
This is quite ugly.
2020-09-19 20:43:40 +02:00
Thibaut Cuvelier
bc9d3ec262 DocBook: <person> is not valid per se, rather use <personname>.
The cleanest solution would still be <person><personname>, but this ought to be enough. Otherwise, that would imply having two tags for some fonts...
2020-09-19 20:43:40 +02:00