Commit Graph

181 Commits

Author SHA1 Message Date
Thibaut Cuvelier
d8a0f1aadd DocBook: fix a crash in docbookSimpleAllParagraphs.
When having the code preview pane open with examples/Language_Support/Mixing_Japanese_with_other_Languages_(with_CJKutf8), clicking at random on paragraphs sometimes yielded a crash: *par when par is the end of the iterator. LyX could output the whole document as DocBook without this patch and still generates the same output with it (i.e. no text is missing).
2023-10-10 09:57:17 -04:00
Thibaut Cuvelier
b9fc4bae44 DocBook: fix formatting of TODOs.
The lines were very long; this commit truncates them to 120 characters.
2023-10-10 09:57:17 -04:00
Thibaut Cuvelier
16a1aa9901 DocBook: add support for DocBookGenerateTitle.
The new parameter allows more flexibility when encoding some elements that have a poor mapping in DocBook, like theorems. The major use is to wrap the environment in a generic container, figure, which requires a title (but none is available).
2022-12-27 15:52:26 +01:00
Thibaut Cuvelier
997f0621c5 Rename LATEX debug level to OUTFILE and use it for DocBook, HTML, and XML messages. 2022-03-01 16:05:42 +01:00
Thibaut Cuvelier
643cbfe557 DocBook: don't force outputting an <abstract> when it would only contain comments.
Before this patch, LyX would forcibly create an <abstract> tag even when there was no abstract in the document; this behaviour is sometimes desirable, but not when the abstract only contains comments (that's not valid DocBook: there must be a paragraph or assimilated within the abstract).
2022-02-06 06:45:01 +01:00
Scott Kostyshak
1c70d98fc1 Fix sign-compare warning
Fix warning comparing long int to long unsigned int.
2021-10-14 23:50:08 -04:00
Thibaut Cuvelier
b5533a24f4 Typos and comment improvements. 2021-10-13 19:26:49 +02:00
Thibaut Cuvelier
48a507694e DocBook: add assertion to help debugging. 2021-10-13 19:26:49 +02:00
Thibaut Cuvelier
5c735ce880 DocBook: don't use a surrounding <para> for rendered insets. 2021-10-13 19:26:49 +02:00
Thibaut Cuvelier
14ed5b2050 DocBook: start implementing LilyPond.
All the changes that can be achieved without C++ code changes.
2021-09-21 01:21:25 +02:00
Thibaut Cuvelier
358e4ace56 DocBook: implement prepended/appended arguments for all kinds of elements.
Previously, it was just in InsetText.
2021-02-19 17:38:38 +01:00
Thibaut Cuvelier
25d3d16360 Amend ac98f21f 2021-02-14 05:36:37 +01:00
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