Fix 12966. A few notes:
* we need to consider both regular insets and argument insets.
* in passthru layouts (such as verbatim) parentheses still need
to be reversed.
* all arguments of type 'listpreamble' are passthru (this isn't a rule,
this is just what happen in practice).
* custom layout and insets from the local layout, or a custom module
are not considered.
Signed-off-by: Udi-Fogiel <udifoglle@gmail.com>
This fixes, for example, the following ctests:
export/doc/ja/Customization_pdf4_systemF
export/doc/ja/Customization_pdf5_systemF
Consistent with ffe5d61b.
The \underbar macro is a text mode macro that can also be used
in math mode. However, when inserting it in mathed, LyX helpfully
wraps it in a \text inset. One can dissolve such text inset and
the macro would appear in math mode without any problem. But the
output routine thinks that the user is shooting itself in the
foot and tries to protect him by wrapping \underbar in the
\lyxmathsym macro, whose definition is normally added to the
preamble when an unicode character is used in math mode.
Of course, this is not the case for \underbar and a compile
error arises. The easier solution is to simply add lyxmathsym as
a requirement for \underbar in lib/symbols, but this means
that the definition of \lyxmathsym would be added even when not
necessary (because in the validation routine we miss the info
about the current mode). The correct solution is acknowledging
the dual nature of \underbar as a text-mode macro that can also
be used in math mode. Luckily the correct solution is almost as
easy as the easier one and is what is done in this commit.
This is only needed for very old versions of the nomencl package
(before March 2005)
No need to output compatibility code with newer versions
Furthermore, this breaks the use of the glossary package which also
has .glo extension (#12968)
Until now only the color of the text could be changed by using
the text properties dialog. This commit allows changing all
other properties except for strikethrough. It is possible to
also add underlining with the limitation that the changes
accumulate. This requires other work but I think that underlining
and strikethrough are not so important in mathed and can be
refined at a later time.
Fixes#12958
This fix hardcoded a language package and was specific to this
document.
The next commit will introduce a better fix, thanks to Udi and
Jürgen.
This reverts commit fa67f70992.
* The lyxpaperview script now only provides the paths and let us do the opening
* We use our own viewers for local files rather than QDesktopServices
Plus several minor improvements and code cleanup
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.