See here:
https://www.mail-archive.com/search?l=mid&q=a7960223ee91696e916b281d1d9fc55df10a9480.camel%40gmail.com
Description from José pasted below:
Functions `length_in_bp` and `revert_flex_inset` have an error in a
(almost) never used path. The reason why this was never triggered is
because this is part of the code where we try all the best efforts
to recover from an ill-formed LyX file.
The problem is that the functions call the `document` variable to
issue an warning if the file does not follow the usual structure.
The simple fix is to add that variable (as the first for the
functions) and to add them at all the places where the functions are
called.
For reference this code was introduced by Georg (Baum) more than 8
years ago and it was never reported. So the issue is not urgent in
any meaningful way. :-)
In `lyx2lyx/lyx_2_0.py`, in the function `revert_nameref`, there is
a call to the document variable. The same as all the above.
In `lyx2lyx/lyx_2_4.py`, in the `class fontmapping`. Similar to the
above but now for error.
This does now apply to the whole inset or paragraph group (not to the
current paragraph only) unless the new boolean AllowedOccurrencesPerItem
is set and we are in a list-type environment.
Amends 729ab602ca
This allows to restrict the use of flex insets to specific contexts.
Note that this is currently very basis. It only considers immediately
containing insets/layouts and can be surpassed via cut and paste.
The use case that made me finally implement this are macros in covington
that make sense only in specific environments (but also consider \inst
in some article classes)
A new counter type \superarabic is introduced, that transforms the
counter into superscript Unicode numbers.
This is used for the footnote counter.
The Foot inset layout is modified to use an empty LabelString (in size
Normal, since the numbers could be too small).
We use this occasion to set footnote text in footnotesize, as it should.
A couple of changes are done to the code to make the button label and
tooltip look better.
Fixes bug #12238.
Each removed inheritFont method is replaced by a 'InheritFont false'
line in the relevant InsetLayout entry.
Add code to layout2layout that does this automatically when the entry
is missing.
The case of InsetScript is special, since the inheritFont() was not
needed here: the default is indeed true.
Fixes bug #12238.
The font inside the inset is inherited from the parent for LaTeX
export if this parameter is true, as well as on screen. Otherwise
the document default font is used.
The default value is true.
Update tufte layouts to use this tag for sidenote and marginnote flex
insets.
Increase layout format to 101.
Fixes bug #12238.
It turns out that it is possible to use macros with parameters in lib/symbols.
I use this to simplify the use of mod-like macros.
Update documentation.
We allow png, jpg to channel through already existing tiff2ps (library
libtiff-tools). Other formats can be added if there is a request.
For future reference:
- using pnmtops seem to have issues with landscape/portrait flip, so
tiff2ps seems better alternative.
- using GraphicsMagick won't help because some distros ban postscript
processing directly in its code (e.g. openSUSE)
This patch finishes IM policy ban handling, we can't probably do much
better.
When this parameter is given, only the current paragraph is affected
by the section promoting/demoting.
Note that the new argument is not used yet.
Update release notes and LFUNS documentation.
Part of ticket #12417.
It turns out that LyX was using red as default color for the
inset button text since ever. However, due to the use of "inherit",
the default button text color was black in practice. This was so
until [897ee2ed/lyxgit], which made the label font not inherited
by default anymore. Hence, all insets that didn't specify a specific
label button color started using red as default color.
This commit restores the previous behavior and introduces the
possibility of modifying this default color.
Fixes bug #12771
For some reason theorems titles has \beginR without a \endR, and since
this is basically inside restricted horizontal mode, TeX complains about
a missing \endR.
I could not figure out why were they there in the first place so I
removed them and the output did not change, and the warnings are gone.
Beside that the numbering of the theorems is wrong (e.g. 1.0 instead of
0.1), the \@makelr thing should happen after babel is loaded.
The theorems layouts did not have a counter (in LyX) so I added one.
The way autocorrect is implemented it is not possible to map
--> and ==> to \longleftarrow and \Longleftarrow, respectively.
One has to type ->- and =>= to that effect, which may be
counterintuitive.
This commit allows typing -> or => followed by * to cycle through
all possible arrows of the same type.
Any time pdfviewer process write anything to stderr it's killed,
most probably due to not existing pipe to proper stderr file descriptor.
/dev/null redirection fixes the issue.
This commit removes unicode thin space characters (unicode 2009).
LuaTeX with polyglossia (the default) was compiling before, but this
fixes LuaTeX with babel.
XeTeX compilation (with both polyglossia and babel) still yields
missing glyphs.
Consistent with cb732ef5.
As of v. 2.23.12, the safe mode is no longer supported and results in
error.
We thus remove the -safe flags from the converter and use our own
needauth flag instead.
It's not true that long URLs are not broken by default.
They are just broken only at certain characters, and this can be customized.
It's also not true that the font formatting cannot be customized.
Change "TextFont" to "Font". This fixes the following terminal
errors when opening the file:
LyX: Unknown InsetLayout tag [around line 247 of file
[layouts/jlreq-common.inc] current token: 'TextFont' context: '']
LyX: Unknown InsetLayout tag [around line 247 of file
[layouts/jlreq-common.inc] current token: 'Family' context: '']
LyX: Unknown InsetLayout tag [around line 248 of file
[layouts/jlreq-common.inc] current token: 'Typewriter' context: '']
LyX: Unknown InsetLayout tag [around line 249 of file
[layouts/jlreq-common.inc] current token: 'EndFont' context: '']
Remove acknowledgment theorem types
As we have learned, these shouldn't have been added from the get go.
Documents having it get a local layout definition.
I used the following command inside the ja directories, and
confirmed the diff manually:
git ls-files -z | xargs -0 sed -i -e 's/\\font_typewriter "default" "default"/\\font_typewriter "default" "IPAGothic"/'
These changes are consistent with 6656dd22.
This fixes compilation with system fonts and LuaTeX for the Intro
and Customization manuals, although Embedded Objects still has an
error due to some preamble code.
Thanks to Jürgen.
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).
Replace \bf with \bfseries.
The error was as follows:
! Class scrbook Error: undefined old font command `\bf'.
This change is consistent with 3cecd4d3.
After this change (and the previous commits), the ctests for
Additional.lyx pass again.
The argument must specify "origin=...". Although that is confusing
(because the argument's name is "origin" so it might be expected
that this is done automatically), this is consistent with the use of
rotate box in our Embedded Objects manual.
After editing with the external sed command in the previous commit,
now resave with the LyX binary. This eliminates unnecessary language
switches (e.g., no need to switch from "English" to "English" now
that the intermediate switch to "British" is gone).
Use the following command to automate the process:
sed -i "/^\\\lang \(american\|british\)$/d" Additional.lyx
The next commit will just resave the file with LyX, so as to clean
up the file contents after the external command from this commit.
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.
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).
Useless parentheses (not helping with readability either) and semicolon. Redo indentation to be consistent throughout the file. Also, fix typos along the way.
This is a new take on c8e2c17a that was reverted at da67bde61a due to entities no more recognised by the browsers. Corresponding thread on the mailing list: https://www.mail-archive.com/lyx-devel@lists.lyx.org/msg213179.html
This patch is a huge cleanup overall, by removing the distinction between HTML and XML entities (the latter arrived due to the DocBook support).
In InsetListingParams, I also changed the mechanism that relied on " to use an XML entity to be consistent with the rest of the code, mostly in case someone looks for HTML entities and wonders why they are still there.
Also, perform the URL fixing magic for DocBook and XHTML.
As it was, it was impossible to enter e.g. "tel:" type links. Now
choosing the "Other" type just outputs the URL as given.
Also, the addition of "http" or "file" was not being done for
DocBook and XHTML. Now it is.