Commit Graph

117 Commits

Author SHA1 Message Date
Thibaut Cuvelier
78b157b61e DocBook: fix closing formatting after deleted text.
Previously, when closing font tags, only the previous character's font was used. However, if that character is deleted, it had no change of having the right font tags opened/closed. Hence, look further to compare the font of the current character to output with the font of the previously output character.
2023-10-10 09:57:17 -04:00
Thibaut Cuvelier
0c2f3dedd6 DocBook: add support for InsetInfo.
A similar patch would be required for LyXHTML, but it will come later. The main impact is that some text isn't output in XHTML (like DocBook before this patch).

The code isn't as clean as it could be. I avoided touching anything not related to DocBook, as the release of 2.4 is nearing, while leaving comments for parts to improve for the next release cycle. Given that the code compiles, there are no risks for TeX or XHTML outputs; for DocBook, less content is skipped, which is a net improvement for users.
2023-10-10 09:57:17 -04:00
Scott Kostyshak
1e63aebc3e ctests: add test cases for DocBook
Patch from Thibaut Cuvelier.
2023-10-07 14:57:30 -04:00
Thibaut Cuvelier
96023697f5 Amend 16a1aa99
With the current settings, a theorem with several paragraphs will have several wrapper tags (i.e. two `<db:figure>`, with one paragraph each, one next to the other when it's the same theorem), while there should be only one (one `<db:figure>` with two paragraphs).

It makes me wonder whether DocBookWrapperMergeWithPrevious should be the default value. I don't see a case where it would be set to `false` with a wrapper tag, but the test suite isn't developed enough to make the change with peace of mind (i.e. remove the parameter `DocBookWrapperMergeWithPrevious` and consider it is always `true` in the code).

For the record, the current code also works with two subsequent theorems with two paragraphs each (see new test case).
2023-01-07 03:06:44 +01:00
Thibaut Cuvelier
017588973f Revert "New Theorems Module. Contributed by Udicoudco <udifoglle@gmail.com> on the mailing list. Rebased on top of master."
This reverts commit 42c2a25fb8.
2022-12-31 11:28:56 +01:00
Thibaut Cuvelier
42c2a25fb8 New Theorems Module. Contributed by Udicoudco <udifoglle@gmail.com> on the mailing list. Rebased on top of master.
I've modified all the non-AMS theorem modules so they would be independent of packages. currently
	the code support \theoremstyle, but only with definition, plain and remark.

	I'v added a new theorem module that support the thmtools \listoftheorems.

	I've modified the syntax of all theorem modules, such that it would be easier to
	create a new one, or maintaining the ones that exists. Instead of using \newtheorem
	in the preamble of a lyaout, I wrote \lyx@newtheorem, and in each module I've defiened
	\lyx@newtheorem as fitted. This way, there is only need in the files thorems-base, and theorems-extended,
	instead of an .inc file for each module.

	I've added theorems-labels.inc, a file that suppose to be included in a "Numbered by type" module,
	to change the Label and the LabelCounter of the layouts in theorems-base.inc.

	Note that in this configuration, all non-AMS modules will clash with the AMS ones, and so as the
	proof versions. theorems-proof-std.inc suppose to be in the non-AMS while theorems-proof.inc
	should be included only in AMS variants.
2022-12-31 01:56:51 +01: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
Juergen Spitzmueller
077ccf905d Rename subindex to subentry
Makes more sense, and distinguishes it better from printsubindex
2022-10-31 06:51:38 +01:00
Thibaut Cuvelier
35a752e6db DocBook: add test case for multiple indices 2022-09-01 01:17:58 +02:00
Thibaut Cuvelier
07380a3bc1 DocBook: add missing test case for index 2022-09-01 00:14:41 +02:00
Thibaut Cuvelier
f352a375d9 InsetIndex: revamp IndexEntry to handle both legacy and modern index insets; simplify and adapt the XHTML code.
DocBook comes in another commit, as the modifications are not required to keep the code compilable.

A semicolon is no more used between an index term and the places it appears, because some languages need a space before it and others not: this wasn't handled at all. With a dash, this problem disappears.
2022-05-05 04:16:51 +02:00
Thibaut Cuvelier
4a62c08e61 InsetIndex: refactor IndexEntry to be a full-fledged class, hiding its implementation details better than before. 2022-04-30 03:23:59 +02:00
Thibaut Cuvelier
5a53872259 DocBook: use the new system for index. 2022-04-25 02:36:35 +02:00
Thibaut Cuvelier
0ba1b68f69 DocBook: merge code duplicates for HTML and CALS tables. 2022-04-01 04:21:31 +02:00
Thibaut Cuvelier
4cab1a77d2 Encodings::fromLaTeXCommand: if the command directly maps an entry of unicodesymbols, use it and bypass most of the logic.
This is important for commands like !`, that are equivalent to \textexclamdown. However, ! is matched earlier, because the logic works with prefixes, hence the output doesn't make sense.
2022-02-21 18:24:26 +01:00
Thibaut Cuvelier
a460097823 DocBook: use the existing unicodesymbols global table to map LaTeX ERTs to Unicode characters. 2022-02-14 03:03:22 +01:00
Thibaut Cuvelier
34ea4080ec DocBook: support @ in index when used for sorting. 2022-02-06 06:23:53 +01:00
Thibaut Cuvelier
db1a443a70 DocBook: update basic.xml for the latest MathML and DocBook changes. 2021-12-26 02:24:23 +01:00
Thibaut Cuvelier
e3489d54e3 DocBook: implement margin/sidenotes in Tufte. 2021-12-05 22:54:51 +01:00
Thibaut Cuvelier
21366155e4 DocBook: use a hash to determine the file names for generated images.
This way, the file names no more change without a reason.
2021-10-16 22:41:38 +02:00
Thibaut Cuvelier
33668e3a30 DocBook: export the preview images to the right format.
"docbook" is not the same as "docbook5", maybe it would be better to have an enumeration instead of strings.
2021-10-16 22:41:38 +02:00
Thibaut Cuvelier
b60653c5a6 DocBook: add test for the forest package. 2021-10-13 02:36:39 +02:00
Thibaut Cuvelier
73a63822c2 DocBook: update links to LilyPond bugs.
Also updates the test so that it matches the next version of LilyPond.
2021-10-13 02:36:39 +02:00
Thibaut Cuvelier
6d3be39587 DocBook copy: don't error if the file was already copied. 2021-09-27 01:15:16 +02:00
Thibaut Cuvelier
a464915f58 DocBook copy: large refactoring to improve readability. 2021-09-27 01:10:49 +02:00
Thibaut Cuvelier
7c1d4fd3c4 DocBook: missing multicol test. 2021-09-26 19:10:22 +02:00
Thibaut Cuvelier
e53af9e677 DocBook: add a LilyPond test. 2021-09-24 00:43:32 +02:00
Thibaut Cuvelier
6df4597e02 DocBook: force paragraphs in HTML cells to allow for nested tables.
CALS still invalid because it forbids nested tables.
2021-02-17 23:32:23 +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
d18dff22b5 DocBook: add the DocBookNoFontInside layout configuration. 2021-02-13 05:09:59 +01:00
Thibaut Cuvelier
7437a6ce3c DocBook: fix regression in floats.
Also implement a valid filler for tables.
2020-11-27 23:44:48 +01:00
Thibaut Cuvelier
7ebe2f4351 DocBook: improve naming of test files.
First, the kind of issue that the file tests for. Then, its source, if it's been extracted from the rest of the test suite.
2020-11-27 20:24:09 +01:00
Thibaut Cuvelier
587f1f5571 DocBook: implement Mathematical Monthly. 2020-11-27 01:54:00 +01:00
Thibaut Cuvelier
1176fab1d4 DocBook: make InsetText respect tag types. 2020-11-20 18:41:03 +01:00
Thibaut Cuvelier
f426e458c4 DocBook: InsetText supports items and wrappers. 2020-11-20 18:41:02 +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
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
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
6843bc5a38 DocBook: ensure to have paragraphs in <sidebar>. 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
2e8bffa3c5 DocBook: update test suite.
Still an unexplained failure: for basic, in the test suite, the .bib file is not found; with the GUI, it is found.
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
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
Thibaut Cuvelier
af26f7a238 DocBook: Springer, complete test case without inclusion.
This only ought to test the layout, not the inclusion mechanisms used in the template.
2020-10-20 02:34:02 +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
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
1a054e4571 DocBook: restore the old DocBook support. 2020-10-07 05:33:56 +02:00
Thibaut Cuvelier
1a86e26841 DocBook: update test cases. 2020-10-07 05:03:24 +02:00