These are now properties of insets that can be operators :
InsetMathSymbols, InsetMathDecoration (for over/underbrace) and
InsetMathMacro (for its contents).
Each of these has a limit_ member that allows to remember a limit
forcing and a member defaultLimits() that indicates what to do in the
absence of such forcing. Moreover the write() method calls
writeLimits().
This allows to simplify the definitions of integrals in lib/symbols by
defining the integrals as macros of their "op" version, as it is done in
the style files.
Also, many hardcoded assumptions can now be removed.
The handling of LFUN_MATH_LIMITS is now done in InsetNest, which tries
successively to apply the limit change to (1) the character after
cursor, (2) the character before cursor and (3) the character at the
end of the inset (useful for script insets?)
The new code allows to define
\newcommand\int{\intop\limits}
but not
\newcommand\makelimits#1{#1\limits}
It is also possible to type explicitly \limits or \nolimits to modify
a symbol.
Includes a test case useful for some of the previous commits (notes in abstract, PI escaping, counter warnings).
Still missing: marginal and side notes. Shouldn't they be ported to InsetMarginal?
The goal is to reproduce the change of size of operators like \sum wen they
are in display style.
The syntax of the symbols file has been extended to allow for two code
points (like 80|88 for \sum). In this case, the second one will be
used in display style.
Update the symbols file to handle all bigops from cmex, esint, wasy and
stmaryrd.
Let the code for math symbol inset handle symbols which can change size,
using the information from the symbols file.
Update the user-facing strings in modercv's layout according to the
documentation of the cventry command in moderncv.
Signed-off-by: Yuval Deutscher <yuval@deut.sh>
This commit adds the mathed command \mathds that selects a
font more appropriate than \mathbb for typesetting the
mathematical symbols for the natural (N), whole numbers (Z),
rational numbers (Q), real numbers (R), complex numbers (C),
and some others.
As in the \mathbb case, only capital letters are supported,
but in addition one can also typeset a symbol often used for
representing the indicator function (\mathds{1}) and the
letters a, h, k.
Fixes bug #11887.
The command addORCIDlink{}{} can be used in the preamble (like title{} or author{})
or in the body of document. For this a Flex-inset-layout seems appropriate.
This is a modern alternative for makeindex that is fully unicode-aware
and written in lua.
As opposed to xindy, it is more lightweight and actively maintained.
The program is still in a rather early stage of development, so we do
not propose this as default.
This relies on xindex 0.22 (about to be released) to function properly.
Needed font-config (so that this script is probably OK on unix systems only)
Probably needed module for Getopt::Mixed.
On debian systems it is contained in package libgetopt-mixed-perl
Most of the RtL icons that we provide are simply mirrors of the LtR ones.
Therefore let the code do that by default if no +rtl icon is found.
The only RtL icon left for now is for "layout Enumerate" (notice the
numbers in it).
Also remove useless getPixmap wrapper and several old bidi_xxx icons
that were forgotten in previous patch.
When the cursor in RTL text, icons for "depth-increment" or
"layout-toggle Enumerate" look wrong.
Instead of relying on the clumsy "bidi" lfun of 2898c335, this new
version relies on a new Toobar tag BidiItem that inserts an action
which can have two icons, depending on the direction of the paragraph
containing the caret (or of the direction of the UI when no file is
open).
The alternative icon has the same name as the original one, with a
"+rtl" string appended to the lfun string. The alternative icon is
only active if the file is found. The icon themes `default', `oxygen'
and `classic' have been updated accordingly.
Fixes bug #4451.
The log file generated by latex can contain strings encoded in
whatever supported encoding. Instead of guessing the encoding,
it is better to open it in binary mode and then performing the
necessary comparisons as "bytes". In order to do this, the
strings are encoded in utf8, so that, for example, b"pythön" is
encoded as "pyth\xc3\xb6n" (7 bytes). Of course, this means that
we can only successfully perform comparisons with ascii strings.
However, this is what we actually do, as we only search for
ascii strings in the log file.
This is a mode for includeonly handling that is effective and still outputs
at least mostly correct counters and references. This is intended for non-
final editing work.
File format change.
* invert failing lyx2lyx tests for ko/Welcome
* add dedicated test sample
* set language for English text part in ko/Welcome.
Also
* fix a lyx2lyx language test sample
* fix clause in unreliableTests
Use helper functions for shorter, self-documenting code.
Drop optional arguments that equal the default value.
Remove hard TABs and trailing whitespace.
Keyboard bindings are easy. For lfun icons in documentation, both the UserGuide and Tutorial have to be updated. Since this will have to be done again once the documentation is imported from branch, I list them here for reference:
For the lib/doc/ directory:
find . -name 'Tutorial.lyx' | xargs sed -i 's/"layout List"/"layout Labeling"/g'
find . -name 'UserGuide.lyx' | xargs sed -i 's/"layout List"/"layout Labeling"/g'
and then
find . -name 'Tutorial.lyx' | xargs sed -i 's/"layout \(Itemize\|Description\|Labeling\|Enumerate\|List\)"/"layout-toggle \1"/g'
find . -name 'UserGuide.lyx' | xargs sed -i 's/"layout \(Itemize\|Description\|Labeling\|Enumerate\|List\)"/"layout-toggle \1"/g'
Related to bug #11770.
Unfortunately, stat.st_ino returns 0 on Windows, at least on Python 2.7, so we can't use that way of telling when we're seeing the same directory again. Surely the real pathname should work.
Three backslashes are needed before a LaTeX command, not one. Before
this commit, the code gave the following error with Python >= 3.6:
re.error: bad escape \g at position 29
This error was introduced with Python 3.6, as documented [1] by the
following line of documentation:
Changed in version 3.6: Unknown escapes in pattern consisting of
'\' and an ASCII letter now are errors.
Although previous Python versions did not give an error, the regular
expression was not working as intended: for example, the "\\n" in
"\\newcommandx" would be interpreted as a new line.
[1] https://docs.python.org/3.6/library/re.html#re.sub
We will replace this with a better solution
For now, only keep
- Changes::isChanged()
- Buffer::areChangesPresent(), replaced by a dummy function
Next step will be to provide a working areChangesPresent() and to
compute Inset::isChanged in updateBuffer.
This reverts commit 6d4e6aad24.
Comment from Jürgen Spitzmüller:
As we didn't report makeindex errors until my commit yesterday(17 Dec 2019), this
problem got unnoted (and the respective index entry was simply omitted).
Debian stable ships now TL18, we don't need to care for older TL versions.
Make CJK-ko documentation more robust (failed with non-TeX fonts and XeTeX,
if LatinModern is not installed system-wide).
The test sample for LyX bug 3059 triggers an error only with
"fontencoding auto-legacy" and can be safely ignored with non-TeX fonts.
I did not realize when I added this that it would mean that ALL
files detected as text/html would be handled this way.
Should fix#11087. But it is the right thing to do anyway.
Instead of wait(), use communicate(), as mentioned here:
https://docs.python.org/3/library/subprocess.html
Otherwise, the process seems to hang as cautioned in the above URL.
Also, use byte strings.
Removing this last citation in the manual is consistent with
032932cb, as well as other similar places in the text (it seems we
now reference documentation with a hyperlink instead of a citation).
The reader of CREDITS (GuiAbout.cpp) now ignores lines that start
with the number sign (#). This commit also introduces a commented
out header in CREDITS reminding any potential editor that all
changes will be overwritten by generate_contributions.py.
Graphics "height" is only the height above the baseline and thus not
what most people will expect. Also, using height can result in a
division by zero with rotation.
Use totalheight now since this means "height of the figure" (independent
of the baseline).
The custom options field can be used if height is really desired.
We handle this in conversion/reversion, respectively, so document
output will not change.
Hence, file format change.
Fixes: #9676
This is a modern implementation of endnotes building on LaTeX3 tools which
gets away with deficiencies of the endnotes package, has some extra features,
is localized, supports hyperref and is better customizable.
As this is a fairly new package requiring l3, we keep the old endnotes
module and provide this as an alternative.
This allows to support classes that don't use the Xpaper wording.
Add support for KOMA font (keyval) syntax on top of that.
Also support class-specific font and paper sizes in tex2lyx.
File and layout format change.
When the cursor in RTL text, icons for "depth-increment" or
"layout-toggle Enumerate" look wrong.
To fix this, the lfun "bidi" is introduced. "bidi ltr func" behaves
like "func" in LTR text, but is unknown in RTL text. "bidi rtl" does
the opposite. This allows to add two icons, but only have one icon
available. When no document is available, only LTR is assumed.
To make this work, the handling of unknown functions in toolbar has
been changed so this these functions can change dynamically their
existence.
The icon themes `default', `oxygen' and `classic' have been updated
accordingly.
Fixes bug #4451.
In particular, the directory frontends/qt4 is renamed to frontends/qt.
Many configurations file have to be updated. All mentions of qt4 in
the source have been audited, and changed to qt if necessary.
The only part that has not been updated is the CMake build system.
By default, the behavior is the same as before, except that the
language of new document is not unconditionally en_US anymore.
The new checkbox "Respect OS keyboard language" (off by default)
governs this behavior.
Update prefs format to 30.
This is a beautiful and feature rich sans and monospaced font family
designed by Erik Spiekermann and reminiscent to his famous (and
commercial) FF Meta.
This revives a patch by Uwe and extends it. Additional options to font
packages/fontspec can now be entered in Document Settings.
This is principally also true for TeX fonts, if the new TeXFont tag
MoreOptions is set. For the time being, I have only done this for
MinionPro, as a model and prove of concept.
Note that adding more TeXFonts requires a file format change,
respectively, and changes to tex2lyx (in the same way as I've done for
MinionPro).
This addresses #8226
This is a higher-level (non-TeX) font interface of babel that draws on,
but is supposed to be used rather than, fontspec with babel and XeTeX/
LuaTeX.
File format change.
Addresses: #11614
Nix (https://nixos.org) is a Unix package manager, which can be used to
install LaTeX on macOS. A peculiarity of Nix is that all packages are
installed into separate directories and the actual directory tree is
then constructed via symlinks.
This interacts badly with the way LyX currently detects files in the
TeX setup, because TeXFiles.py does not follow symlinks. Therefore,
almost nothing is found when using LyX together with Nix’ LaTeX.
Patch from Michael Roitzsch.
At the time, there were two competing packages for French language:
frenchle (aka french.sty), the historical one, and frenchb.ldf, the
new kid on the block. I was difficult to know which one was loaded by
babel, and frenchle did not define \og and \fg. Thus the need for our
own definition.
These were the good old days, but this time is gone for good.
It is now possible to specify in the lib/language file whether screen
rows can be broken anywhere (CJK languages) or only at work boundary.
Set WordWrap to false for the CJK languages (notice that japanese-cjk
had been forgotten before).
Moreover, remove a test for separators in row element that was not
really helpful.
Fixes part of ticket #10299.
FWIW this code is important for very old versions of lyx, older than 1.1.5 (released 19 years ago - 2000/06/06).
Funny fact of the day, byte strings do not behave as regular strings in python3 when taking and index.
To get a sub-string we need to pass a range, a integer index will not work as it happens in a regular string:
$ ipython3
...
In [30]: line
Out[30]: b'#This file was created by <mike> Tue Jan 25 10:36:51 2000'
In [31]: line[0]
Out[31]: 35
In [32]: line[0:1]
Out[32]: b'#'
The range notations works for both byte and regular strings in python 3, and it also works in python 2.
Thus the change is simple and effective. In any case I should confess that I was quite surprised by this. :-)
In python it is possible to compare tuples with a lexicographic order.
Take advantage of that since there is no need to resort to the C-trick of converting a version in hex format.
We need to set a dummy version in case we are using ImageMagick to ensure that version is always an integer 3-tuple.
It worked in python2 but not the way the authors imagined. Because hex always returns a string.
From python2:
>>> 1 > "2"
False
>>> "2" > 1
True
>>> "1" > 2
True
The rational is that an integer is always smaller than a string.
In python 3 this because it does not make sense to compare objects of different types.
Amends 7bb30286.
Tested cases are now handled fine.
(There are still many cases where the language support emulation
is too complex for lyx2lyx and manual fixes are required after
lyx2lyx conversion.)
Correct or activate some already present shortcuts, and add new ones
for easily obtaining the most common fixed size delimiters.
Pressing '*' after a delimiter will cycle through all sizes.
This is related to the bug #11457 saga and it was my fault.
The debug files should be written only be on if the argument --debug is passed and not --verbose as it was done by mistake.
This effectively allow paragraph breaks in insets only for cosmetic
reasons (e.g., to align contents on different lines).
This is the last change necessary for an enhanced covington gloss support
(which uses the new covington gloss ui)
In python 3 the colors need to be strings and not bytes:
This was the equivalent of
>> print("%s" % b"1")
"b'1'"
since the colors were bytes the call to dvipng was something like
dvipng -Ttight -depth -height -D 115 -fg "b'rgb 0.937255 0.941176 0.945098'" -bg "b'rgb 0.137255 0.149020 0.160784'" "lyxpreviewxBJEqm.dvi"
Note the "b'rgb after both -fg and -bg that wrecked havoc and thus dvipng failed. That was the difference between python2 and python3 calls.
The "Rows & Columns" optional submenu is more easily accessible in
the math context menu rather having to navigate to the "Edit" menu.
All possible accelerators are already taken, so use the space bar.
Same for BackTab. The outline-in was originally (31398779)
introduced to the command-sequence at the end. Probably it was
placed at the end to be conservative (i.e., so that it would only
change behavior where there was a no-op before).
This fixes#11576.
Following the suggestion in the Babel-Azerbaijani documentation,
we use the glyphs from the Cyrillic fonts for the Latin
text character. This fits better than IPA fonts (assuming there are matching
Latin and Cyrillic fonts specified) and also provides bold etc.
Latin Modern works fine with Japanese.
If "lmodern" is set for \font_roman the "lmodern.sty" package sets
sans-serif and teletype to Latin Modern fonts as well.
Therefore, \font_sans and \font_teletype are better left as "default"
(less preamble code) in the LaTeX source).
The "outer" language of the table was set to English leading to wrong output
(swapped columns and words with non-TeX fonts, wrong characters with TeX-fonts).
The algorithm in [c9be8bff74b233/lyxgit] did not
account for layout nesting. As a result, some parentheses
were swapped in English text parts
(e.g. around "(for Linux)" in he/Intro.lyx).
AsBabelOptions was introduced 2010 in [cc5dd37a2a05/lyxgit].
Since the re-orgianization and opening of the Babel package to
"contributed" language definitions in March 2013, it is no longer required.
Clean up after Part 1 [1361f1a45f23/lyxgit].
PDF outline improves with unicode/utf8 (although some chars still wrong).
Math: ERT for umlauts no longer required (now force-converted with unicodesymbols)
Thai works fine with LuaTeX, TeX-fonts and auto-legacy input encoding.
Remove obsolete preamble code,
we now load "fontenc" with Japanese documents by default.
since we auto-load "textcomp" now also for encodable characters,
we no longer need to force conversions defined in ts1enc.dfu.
FIXME: this is currently not working as intended, because
exclusion (force != ...) seems to fail with a list of encodings
and the characters are nevertheless force-converted.
This reverts commit c56adfc8ec.
I am reverting this because LyX uses an italic font for representing
mathalpha symbols and it is funny when a vertical arrow looks like
a leaning tower.
The unicodesymbols file should be audited in order to add the
mathalpha flag to all symbols having a math representation.
If the flag is missing, when pasting in mathed a given symbol
with a math definition, one gets \text{\ensuremath{\symbname}}
because LyX assumes that the symbol is a textmode one by default.
* do not ignore Japanese (platex) with system fonts.
* CJK can be used with XeTeX and TeX-fonts if the input encoding is utf8.
do not ignore.
* TODO: set non-TeX fonts and uninvert where possible.
While not required for hyphenation, using T1 as default font encoding
helps with text in Latin script (pre-composed accented characters,
Nordic letters "eth" and "thorn").
Fixes wrong and missing characters in text parts in other languages
(platex does not support "inputenc").
Fixes compilation errors due to desynchronized encoding switches.
* Force unicodesymbols conversion for all *-platex input encodings,
* except some characters that work well in utf8.
* Use platex if document language is "japanese" and input encoding is "utf8".
The category tag was rarely used and thus not very useful. This adds
categorization to most modules (the rest will follow) and uses the
\DeclareCategory tag we use in layouts rather than the extra syntax
we used in modules. Categories are now added to the po files and
translated.
Note that this is work in progress: the current categories are still
subject to change.
The ultimate goal of this is to sort the modules in the GUI by category
as we do with layouts, examples and templates (and add a filter to search
for specific modules)
As it is now (with the many modules we accumulated), the module selector
is not really usable anymore. If you don't happen to know how exactly a
module is named, selecting a module is really a PITA.
* New: support also utf8 (working around false positive test in "inputenc.sty").
* Do not force the change of input encoding to "ascii".
Deny compilation with XeTeX if a document uses TeX fonts and a non-supported input encoding.
* some Japanese (platex) documents fail with inputenc "utf8-platex"
(missing characters in non-Japanese text parts), because the
Unicodechar definitions from "inputenc" are not used.
* some Japanes (platex) documents show wrong output with "auto",
because platex ignores the encoding switch for text parts
in other languages.
* Japanese Beamer documents must set default output to "pdf",
because dvipdfm(x) produces wrong output with document class "Beamer".
* update tagging/inverting rules.
* use HE8 font encoding for Hebrew in language test.
While HE8 provides more characters and prevents use of bitmap fonts,
forcing its use may break older installations.
The dedicated test file 012_hebrew_he_HE8.lyx provides an
example for use of HE8 encoded fonts with babel-hebrew.
The "nikud" (vowel) signs, shindot, and shindot are combining Unicode
characters. However, LaTeX-Hebrew expects them as postfix characters, not
accent macros (cf. www.cs.tau.ac.il/~stoledo/Bib/Pubs/vowels.pdf).
With the re-orgianization and opening of the Babel package by Javier Bezos
(version 3.9 released March 2013), "contributed" language definitions are
also recognized if the language is given as global option.
If there is no objection or regression in tests,
Part 2 will remove the hard-coded part of AsBabelOptions.
The idea is simple: we insert a pre-formatted table (with a given border
style currently, but other attributes are possible as well) via file-insert
and scale it then to the requested size.
We need three sizes (1x1, 1x2 and 1x3) to generate all sizes properly (due
to border specifications).
Currently, these styles can only be accessed via lfun tabular-style-insert
and the Tabular Create dialog.
My plan is to add a buffer param to set a default style (#9901) which then
also is respected by the toolbar button and probably a layout tag to let
classes specify a default style (#8360).
Not there yet.
Introducing examples/templates into the Rules-lyx hall of fame
make those dirs more sensitive to build stuff.
Something still broken in examples/Articles, not sure what,
maybe filename length, running out of time now.
Thanks to \origin, #8643 is fixed (also in stable). Included paths are
thus correctly updated and point to the systemdir.
This only works if LyX is installed, though, since \origin is only set
on install.
* "platex" fails with "inputencoding default", if there is text in other languages.
"jis-platex" works fine, "jis-utf8" fails with German Umlauts (maybe more).
* The expert setting "inputencoding default" switches the inpute encoding
with language switches without marking this in the LaTeX source.
It is rarely required (if ever) and makes documents easy to break.
It is not required for AMS Books, Simple CV, ... (probabely a tex2lyx issue).
"utf8" and "auto" work fine.
* Fix macro termination if \textcyrillic or \textgreek is not required
for Greek or Cyrillic letter.
* Replace "writeScriptChars" with conditionals in the character-output loop in
"Paragraph::latex" (solves "FIXME: modifying i here is not very nice...").
The font changing commands \textcyrillic and \textgreek are no longer
part of the textcommand in "lib/unicodesymbols" but added when required
in Paragraph::Private::latexSpecialChar.
Re-structure and rename files in a transparent way. Most template/example
names now correspond to the (verbose GUI) name of their layouts.
Note that this, most prominently, also changes [LANG/]splash.lyx to
something less insiderish, namely "Welcome.lyx".
This lists all respective files from user, build and system directory
in a structured way and thus allows for easier access to them.
Fixes: #2396, #6861
This accesses the inulemcmd output param which protects specific commands
(\cite, \ref) in an \mbox.
This is needed in ulem and soul commands, since their complex
detokenization makes such commands (who produce multiple words via local
assignment) fail.
So now it is possible to properly support ulem and soul via
[inset]layout
Fixes a case reported in #9404
Xe/LuaTeX convert \AA to the deprecated character u212B (which is missing
in the default LatinModern font) instead of the recommended u00C5.
Also fix some of the "missing character" errors in Math.lyx if compiled with
Xe/LuaTeX which were caused by the replacement of \AA with literal u212B characters
in math-insets due to the old definitions in unicodesymbols.
Update the minimal example for failures of Math.lyx with system fonts.
New bug in TeXLive 18.
Missing characters with XeTeX and wrong characters with LuaTeX.
Also:
* Remove spurious (Latin) characters from uk/Intro.lyx
* "wrong-output" tag for Cyrillic documents with XeTeX and TeX fonts.
This uses a specific wrapper package that must be loaded instead of
biblatex.
Via "Requires biblatex-chicago", this is now possible.
For proper support, a citeengine file needs to be written
This commit here could also be backported to stable.
This short title removed a spaced, and when taking a look we decided
that the advantages of removing it (simplicity and consistency)
outweigh the benefits of having a shorter entry in the table of
contents and PDF bookmarks.
Documents used deprecated or lookalike characters missing in
Latin Modern system fonts:
Customization.lyx: "figure dash" instead of "emdash".
revtex4-1: "Angstrom sign" instead of "latin letter A with ring".
The specific test was introduced in ef6be5f4 because
CJKutf8 was relatively new (cf. lyx.org/trac/ticket/5386).
10 years on, CJKutf8 is an established part of the CJK bundle
and we can skip the special test for CJKutf8 to make the logic
considerabely simpler to read, maintain and debug.
If Document>Settings>Language>Encoding is set to any value except "auto" or "default", we
expect the whole document to use this encoding. Wiht encodings from the CJK package, this means
one big "CJK" environment and no encoding switches.
Characters that are not handled by the CJK package need to be "forced" in lib/unicodesymbols.
This is completed for "euc-cn", the others will follow.
The default fonts provide a good match to LatinModern and
closer similarity to the look with 8-bit TeX fonts.
Also replace a box-drawing character in a heading with an em-dash.
In the lines specifying the font, e.g.
\font_typewriter "DejaVuSansMono" "DejaVu Sans Mono"
the system font specs may contain words separated by spaces
If get_containing_layout() finds a layout without name,
it will return an empty string as layoutname.
Calling functions can thus differentiate between missing
\begin_layout and missing layoutname and give a more specific
response or warning.
For some .lyx files with long tables, this fix reduces the
differences in LaTeX export of master, compared to LaTeX export of
the lyx2lyx exported file. Further, this export fixes the lyx2lyx
roundtrip convergence for these cases. For discussion, see:
https://www.mail-archive.com/search?l=mid&q=20190102230924.7zgla5lhkwxpx5fi%40barna
The textcomp Unicode support file "ts1enc.dfu" defines 0x204E Low Asterisk
as \textasteriskcentered. LyX should follow suit.
The ASTERISK OPERATOR (correctly) maps to the same macro,
the "deprecated" tag marks the upstream mapping as preferred choice.
Added "force=iso8859-7" for some characters:
The iso8859-7.def file for the Greek 8-bit input encoding
used \textbullet as placeholder for non-defined characters.
This is fixed in v1.7 2019/01/08.
Once the fixed version is in common use, all "force=iso8859-7"
tags can be removed.
The Thai tis620-0 input encoding is supported via the inputenc "plug in"
(data) file tis620.def from https://ctan.org/pkg/babel-thai.
We can handle it like the other contributed input encodings, e.g.,
Greek (ISO 8859-7) and the several Cyrillic encodings from
http://www.ctan.org/pkg/latex-cyrillic.
Under TeXLive 2018, the input encoding defaults to utf8, if there is no call to
inputenc. The added test file fails without the patch but compiles fine, if the
file "tis620.def" is present in the TEXPATH.
On Mac the inkscape binary is started by a wrapper script. This script changes the
working directory internally and fails to process files with relative path names.
The previous attempt to solve it was to pass the file names with absolute names
by prepending them with the $$p variable (representing the directory name of the files).
This broke the on screen conversion (used for SVGZ to PNG e.g. in the users guide)
because here the $$p variable is undefined.
Now the wrapper script of LyX which is used to locate the Inkscape.app bundle converts
the relative path names into absolute names and the $$p variable is removed from the
converter definitions for inkscape again.
The preamble is not used since this document should only be compiled
from documents that include it. Similarly, setting the master
document is not useful.
Bibliography.lyx is not expected to be compiled on its own. This
commit reverts 3ac2dd8e and instead adds a LyX note explaining that
an error is expected if the .lyx file is compiled.
chess-workshop-symbols.sty is no longer (on an updated TL 2018)
included in the TL package "skak". This commit replaces the loading
of chess-workshop-symbols in the custom preamble with the loading of
the package chessfss.
chessfss is in TL 2016 and TL 2018, and the example file now
compiles with both TL installations.
Before this commit, compilation of chessgame.lyx was possible if
chess-workshop-symbols.sty were installed manually (i.e., outside of
TL), but it is preferred to keep dependencies to only TL if
possible.
The last 20 applications are saved now and accessible both via the lfun
(textstyle-apply n) and the toolbar (via button menu)
Fixes: #7133
This also changes the default icon and toolbar position of the action,
as requested in #11427
Add the "hyperref-driver=dvips" option to the extra flags of the
latex->dvi converter so that the breakurl package is automatically
loaded when needed.
This code has issues and there is no evidence that it improves performance.
Remove LyXRC variable \use_pixmap_cache and update rc format to 29.
Now the global pixmap cache is only used by GuiCompleter. Therefore
there is no need to reset it when fonts change.
This is due to the bad packaging in the early 2.3.x installers. We
normally do not use version suffixes on Windows, but did.
(cherry picked from commit b738aa53d1)
* Use a module rather than a layout, since this package can be used with
any class
* Do not hardcode options and settings. The package is very flexible,
there is no need to limit this in LyX
This layout does not use lyxskak.sty, which depends on skak.sty
Instead it uses chessboard.sty, depending on chessfss and xskak.
Compiles and displays fine with pdflatex, XeTeX
but still does not compile with lualatex.
We are now able again to mark fields and moves on the chessboard
This uses the InsetArgument interface to provide access to a document
part hitherto inaccessible by LyX: the part between \begin and the first
\item in a list (where lengths and counters can be redefined, for
instance).
Fixes: #11098
File format change, layout format change
This returns a localized version of a string (in the GUI language)
if available, removing trailing colons and accelerator marks.
This can be used to refer to dialog items in the docs in a portable way.
The preamble handling needs to know, which package belongs to
which font-type
* The conversion is now independent of the sequence in the preamble
This is important for instance, if the user created the preamble manually
This is a low hanging fruit, since it's already available (although
quite hidden)
Generally, output "not set" i a pref is not set rather than an empty
string.
With this commit, info insets leave the dark backstage room of an opaque
and quite hidden dev-only feature and come frontstage.
In the UI, they present themselves as "Fields" since this is what people
know from word processors. Other user-related fields that could be
implemented next: time, user name (I plan to do that for 2.4).
Since this supersedes date-insert, I removed Insert > Date from
the menu and propose to ditch date-insert and the corresponding rc.
The lyx2lyx reversion routine has lots of room for improvement and
attractive tasks for pythons (file timestamp, switch of localization).
Please feel invited!
This is a file format change.
The checkProg() function was separating a command from its parameters
by splitting at the first space. This was a problem if the command
was specified with a full path containing spaces. Now the checkProg()
function separates a command from the parameters by splitting at the
first non-quoted space. So, it suffices quoting a path to solve the
issue.
This effectively enables linebreaks, multipars and layout changes in
non-fixed width (i.e., standard) table columns.
Fixes: #6577
TODO: metrics are wrong (too wide) on screen with linebreaks.
Each source file is to be copied to the test directory
Created files are to be compared to the corresponding expected file (if it is not set to "undef")
This is an extra command used for sidenote citations. Since we do not
provide \cite with natbib (which tufte uses) as a choice, we use the
new AddToCiteEngine feature to add it.
File format change.
Fixes: #11150
Now layout files and modules can extend the cite engines or completely
overwrite them, and modify the cite formats.
Any CiteEngine definition in a layout/module will completely overwrite
those by cite engine files.
AddToCiteEngine will extend them (add if they do not exist yet).
Any CiteFormat definition in a layout will be preferred to those in cite
engines. CiteFormat definitions that are not touched by the former are
still active, though (so, as opposed to CiteEngine, a CiteFormat does
not completely overwrite those by the engine files).
Layout format change.
LyX on Mac uses a user directory with version suffix. On change of the version suffix the existence of the directories with previous versions is checked and the latest one is used for a copy on first configure run. For 2.4 the candidate list starts with 2.3 now as it should.
It is now possible in the float settings (doc dialog) to specify a global
(inner) alignment for floats, and in the float settings, this can be
overridden (just as with float placement)
Fixes: #8665
File format change.
"Benutzerdefiniert" means "user defined", which is not what "custom"
means here (custom insets/text styles are usually not user defined,
but provided by a class/module).
This revives a ten year old idea (and patch) by Dov.
You can now mark in the character dialog text and exclude it from spell
checking.
Fixes: #1042
File format change
Remaining issue: The instant spell checking marks are not immediately
removed, but only after some editing.
Combining accent charactrs were not supported at the time the Russian
documentation was written. Eventual display problems with some GUI
fonts are still less distracting than ERT.
I'm open to putting this elsewhere on the toolbar, or even on a
different toolbar. Also, we need decent icons. These ones are not
intended seriously but were just borrowed for testing purposes.
Anyone have good ideas about icons?
We have a couple of converters (using Sweave and knitr to "tangle"
an intermediate file) that are used for exporting code chunks
contained in a .lyx file. Since the code is just exported to a text
file and is not executed, needauth is not necessary.
A Note inset contained two example files. The linguistics example
file caused terminal messages like
step: Counter does not exist: examplei
An alternative to removing the example file would be to add the
module, but it is not clear we want example files in the merged
file anyway.
Otherwise utf8 inputenc chokes.
It is also possible to enter those accented chars directly, but this
results in display problems in the workarea (the line is shifted downwards).
The objective is to identify common operations and place them
in functions in order to improve the readability and correctness of the code.
is_document_option(document, option):
Find if _option_ is a document option (\\options in the header).
insert_document_option(document, option):
Insert _option_ as a document option.
remove_document_option(document, option):
Remove _option_ as a document option.
A feature can now be required only for specific input or font encodings:
- <feature>=enc1;enc2... Require the feature <feature> only if the
character is used in one if the specified font
or input encodings.
- <feature>!=enc1;enc2... Require the feature <feature> only if the
character is used in a font or input encoding
that is not among the specified.
The fixes are simple and on line with the changes made during
the 2.3 development. It was an oversight to leave them out.
With this commit all the python scripts should be supported by
python 2 and 3.
Following a request by Günter, we consider the document fonts (only rm
for now) when selecting an appropriate font encoding.
See #9741
The new default font encoding setting "auto" does
* consider the font encoding needed by the language(s), which can now
have fallback alternatives
* Consider which font encoding is provided by the document font
Thus, cm now will result in OT1 fontenc, if the language can deal with
that.
The font_enc pref is ditched: it is no longer needed.
The automatism is still very basic and is subject to extension.
File format and prefs format change.