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
There are several small parts that are needed here:
* Implement LayoutModuleList::asString() that returns a comma-separated
list of modules.
* in Converter::convert(), handle the new tokens $$c for the current
textclass and $$m for the list of modules.
* in Buffer::importFile(), pass the current buffer as parameter instead
of nullptr.
* in pasteClipboardText(), copy the parameters of the current buffer to
the internal one used for importation, so that the textclass and
modules information is available to convert().
* finally, modify configure.py to pass "-c $$c -m $$m" to tex2lyx for
the latexclipoard->lyx converter.
Fixes bug #11312.
The aliases are defined by a file in the (system or user) image
directory. The format is pretty simple: each line is like
<str1> <str2>
Where every instance of <str1> will be replaced with <str2>.
Fixes bug #12509.
uf8x is not recommended
(https://github.com/latex3/latex2e/issues/833), and thanks to Europe
CV's recent release, is no longer needed. See here:
https://github.com/gsilano/EuropeCV/pull/30
Europe CV still fails on an updated TeX Live (see discussion on
hooks in the above discussion for why), but this commit at least
fixes the unicode-related errors.
Fix for bug #12547.
- "Interword" becomes "Normal"
- "Protected" becomes "Non-Breaking"
Plus a minor fixes to the "Horizontal Space Settings" dialog:
- Indicate that when "Non-Breaking" is disabled, the space will be non-breaking
Jürgen fixed the core issue at a77c84a0 so this workaround is not
needed anymore. It is more intuitive, and easier to remember, to not
use the double-quotes.
This reverts commit 67e9add6d0.
This adds native macros for subindexes (!level), |see and |seealso
as well as native support for ranges |( |) and pagination format
-- e.g., |textbf -- via the index dialog
Resolves#12478, #7232 and #5014
The feature is complete (incl. tex2lyx) except for
* file format change and lyx2lyx
* docbook/xhtml
* documentation
These are just annoying. Note that the language mark cannot currently
be specified in a layout file, but it is not clear that there is a
need for that. Therefore I used the simple and hackish way.
Both lyx2lyx and LyX write output to the terminal, and it's helpful
to know which messages are coming from lyx2lyx. For example, before
this commit if we opened a document in LyX that has a newer file format than
lyx2lyx can deal with, we see the following output in the terminal:
Warning: 619: Format not supported.
Warning: Quitting.
Error: Document format failure
The first two lines (the warnings) are output from lyx2lyx, and the
third is output by LyX. This output was particularly confusing
because I first thought "LyX tries to quit if the document is too
new?", but in fact LyX still stays open; it just doesn't open the
document. After this change, the output is now the following:
lyx2lyx warning: 619: Format not supported.
lyx2lyx warning: Quitting.
Error: Document format failure
Issue discussed in the mailing list: when the EPS contains several images (Adobe Photoshop exports two of them, one being a low-quality TIFF for preview), two files are generated, none with the existing name (prefix: -0 and -1). Hence, LyX thought that there was an error.
This ensures that we use a consistent Python interpreter in LyX.
$${python} is replaced by the Python version found.
Users can apply this in preferences and use the same version defined by
LyX.
An inset that resets its font (like Footnote) does not care at all
about enclosing font. Therefore the real starting point is the class
default font. This avoid cases where the footnote contents is forced
to \normalsize.
It turns out that the Greyedout note inset, did inherit font but was
declared as not doing it. This commmit changes the definition by
adding \normalfont\normalsize so that no inheritance happens.
Note that actually \normalfont resets everything but the font size.
This does not matter for footnote (which has its own font size) and
greyedout (which is fixed now), but may matter elsewhere. Also, I do
not know what the situation with HTML is.
There is nothing in the diff besides the format number changing from
93 to 95. From what I understand, this is as expected since 93 -> 94
and 94 -> 95 just add new layout tags.
Updating the layouts makes it easier to test master. Otherwise, in
some use cases layout2layout can be run hundreds of times which can
make some things slow (e.g., opening documents or even opening the
advanced find pane).