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.
Instead of having to add and individually test the versions to check
for, we store the current version and test on that with a specific
function isAvailableAtLeastFrom(package, year, month, day)
Currently only used for the LaTeX version, but could also be extended
for package versions.
- new function to list bibtex databases
- citation-insert returns the list of undefined keys
if the request comes from the LyX server
Original patch from Benjamin Piwowarski (2012!).
Modified and updated by Riki Heck and myself.
Especially after the change to use semantic linefeeds (7b23c76b),
the diffs are large and it's hard to figure out what diff is the
result of the linefeed change and which diff is the result of an
edit.
By updating the docs, it will make the edits easier to understand
from the diff.
This commit used the LyX binary to write the new .lyx files since
lyx2lyx does not apply semantic linefeeds.
I used the following command:
./development/tools/updatedocs.py [path to 'lyx' binary]
A few documents were not updated (e.g., the command sequence used
failed because a dialog about a missing dependency was shown).
I did not update Additional.lyx for any language since it is
undergoing changes. I also didn't change anything in doc/fr since JP
is working on some of those. I also didn't change doc/ru since it
appears Yuriy already updated those.
The equation number is now correctly generated when using
\ref in \tag, but if equations are numbered within sections,
the \tag'ed equations in the first sections are numbered wrongly.
However, I think this is a preview.sty bug not a lyx one.
Instead of specifying "force" to disable the deletion protection
mechanism, invert the default so that "confirm" is needed to activate
it. The idea is to keep the lfun reasonable for scripting and add a
special argument for interactive use.
Document in release notes.
Update LFUN.lyx documentation
Update bind files.
Add conversion step to prefs2prefs_lfun.py.
Remove all trace of Qt4 support. The different elements have been
considered carefully before removal.
The only changes that need to be done concern Windows and macOS
compilation instruction and will need to be taken care of by the
respective maintainers before prerelease.
The file TODO.killqt4 lists what remains to be done.
This macros are important for particle physicists. Note that the
package hepparticles as distributed in recent texlive does not work
(see #11804) and need to be patched. This is however not something we
can do, and any physicist wanting to use this will have patched his
own version I guess.
I contacted Andy Buckley, the author of the package, who answered that
he is aware of the issue but does not have time right now to fix it.
The workaround is straightforward: on line 176 of hepparticles.sty,
replace "\updefault" by "n".
Two parts:
- add *lots* of definitions to lib/symbols
- add hepparticles and hepnames as simple features in LaTeXFeatures.
The definitions are courtesy of @renyhp, and extracted from the
aforemented packages:
https://www.ctan.org/pkg/hepparticleshttps://www.ctan.org/pkg/hepnames
Fixes bug #11804.
We now allow the user to cancel the background process at any point
(via the red "x" in the status bar or Document > Cancel Export), so
we do not need to poll the user with the dialog.
The patch works by setting timeout to "-1" which is treated as a
special value to disable the poll.
Fix (by obviation) #12531 and #9953, which were about the dialog.
Qt >= 5 refuses to display them. We work around this in lib/symbols
already, but make sure we do not try to display math glyphs at these
code points anyway.
Fixes bug #8493.
This is a convenience function for indexing. It adds a copy of the
index inset under cursor after any word in the buffer that is equal
(case-insensitively) to the word preceding the index inset.
The function can be easily used to generate bad indexes (and I warn
about that in the UserGuide), but if used with care, it can also be
extremely convenient.
The new function inset-insert-copy can only be invoked from the ToC.
It is currently only implemented for Index inset.
It is a special lfun because Inset::dispatch is called directly from
the ToC widget with cursor pointing to the inset, whereas the patch
happens in the workarea at caret position. This function cannot be
called directly.
Add an entry for this function in the toc context menu.
Fixes bug #4582.
Some distros banned GS for Imagemigick conversions.
In effect eps->png conversion is broken and this can't
be fixed locally by the user.
Our workaround is to allow eps->pdf->png conversion from
different tools when IM bans the conversion.
https://www.mail-archive.com/lyx-devel@lists.lyx.org/msg217834.html
- Check the state of the synchronize TeX output option of the document to enable or disable the LFUN for forward-search.
- write synctex macro to TeX source not only for PdfLaTeX