This commit documents the feature introduced at 4803c769, which
fixed#10288.
The User Guide already has a section on closing tabs, so this fits
in well.
The default for ZOOM_OUT is -20 from a user perspective. That is,
the following are equivalent:
buffer-zoom-out -20
buffer-zoom-out
The reason for this is that the argument to ZOOM_OUT is treated the
exact same way as ZOOM_IN. The only way they differ is how the
default case is handled.
This commit also clarifies that (1) the argument may be positive or
negative and that (2) the argument is interpreted as percentage
points, not percent.
Add get_bool_value to parser_tools to be used in other places.
Make the upgrade convertion seamless from lyx writing the file (regarding
microtypes, there are still other dragons to chase. :-)
The keytests were previously enabled by default if the necessary
dependencies were found. They require a GUI and mouse so can
sometimes be annoying. Further, they are not currently reliable.
They are thus now disabled by default.
is output when a branch is NOT activated. Fixes bug #7698.
At the moment, inversion is controlled through the branch settings
dialog. There is no provision for inserting inverted insets directly,
or for changing them from the context menu. Both of these could be
done, of course. The latter would need LFUN_BRANCH_TOGGLE_INVERTED.
Although this a problem that only manifests itself on windows the change is general
and it works anywhere.
The major change is to change the file redirection > to -o the specifies the output file.
At the same time it makes the call to lyx2lyx less cryptic, e.g. to revert to the 1.3
format we have:
\converter lyx lyx13x "python -tt $$s/lyx2lyx/lyx2lyx -t 221 $$i > $$o" ""
now instead of
python -tt $$s/lyx2lyx/lyx2lyx -t 221 $$i > $$o
we use a call where the version to revert is explicit
python -tt $$s/lyx2lyx/lyx2lyx -V 1.3 -o $$o $$i
or we could write a longer, but more understandable form:
python -tt $$s/lyx2lyx/lyx2lyx --final_version 1.3 --output $$o $$i
FWIW I shuffled the order of the arguments just for the sake of readability,
to let $$i be the last argument.
These are all in lib/symbols, but we did not yet know the corresponding unicode
numbers. unicodesymbols does still not contain all symbols from lib/symbols.
The parser that reads unicodesymbols uses backslashes to escape quotes, so
every backslash that is part of a LaTeX command needs to be escaped as well.
There are more candidates in the greek and cyrillic sections, but I don't
know those commands, so I did not touch them.
\it and the other oldfont commands are deprecated and the new forms
(e.g. \mathit) should be used instead. The old forms can lead to a
warning in TeX Live 2015 and an error in TeX Live 2016.
Note that with this commit only affects completion, so LyX still
supports displaying e.g. \it in math if the user enters it without
completion.
This is consistent with 24d01111.
Thanks to Guillaume for the patch.
The external templates requested conversion to these formats, but there was no
converter defined, so plain text export did fail, and there are no obvious ways
to create plain text representations for the files used by these templates.
Now we output the file name as for other templates and also the graphics inset.
This fixes bug #7135.
On TeX Live 2016, Math.lyx gives an error when compiling with
pdflatex. On TeX Live 2015, Math.lyx compiles but the log gives the
following warning:
Usage of deprecated font command `\it'!
This commit amends 67e45aa3.
Provides two new styles:
1. An "In Premable" style that puts whatever is entered into it into the preamble.
This can be used, if one wishes, to include preamble code in the body of the
LyX document.
2. An "In Title" style that will put its contents into the body of the LaTeX
document, but before \maketitle is issued. This is useful for making branches
and notes in title-related material. (If you put these in a Standard layout,
this signals to LyX to output \maketitle, which may then come too early.)
Due to the ForceLocal machinery, no format change is needed.
The external date inset was implemented as a demonstrator for external insets
in general. It was never intended for production code. Now that we have several
external insets defined we do not need the demonstrator anymore. This fixes
bugs #4398 and #9948.
Previously the commandline arguments were processed in an operating system
dependent encoding if running under python 2. Now they are converted to
unicode during the parsing, using the more modern argpase instead of optparse.
The individual conversion methods do no longer need to know anything about
commandline encoding. This fixes a bug similar to #10218 if running under
python 2 which I probably introduced during the python 3 conversion.
The LyX class works now with python 3. Certain file format conversions may
still fail (convert_multiencoding() is a hot candidate), but this will need
to be fixed in the individual modules.
LyX did not distinguish compressed and uncompressed svg files previously.
Therefore XHTML export of vector graphics did use svgz images directly, which
is not supported by browsers. If svg and svgz are treated as two formats then
all works fine. This is also consistent with the loadable image formats
reported by qt: It reports both svg and svgz.
The gunzip dependency in converters is not new (it is already used internally),
but the gzip dependency is new, so it might not be available on windows.
This is not important at the moment, since we do not yet need to convert svg
to svgz, I only added the converter for completeness.
Although the fix affects only a content of a LyX note, it is
still surprising to get a dialog-window demanding creation
a new document if trying to edit the subdocument.
Now that 5mu are added on each side of : (because it is a relation), there is no need to do the same in the definition of \vcentcolon.
This is closer to what is done in mathtools.sty.
Inset-icons are auto-scaled according to their width.
This is problematic, if converted from SVG
with the bounding box set to content (ignoring the page size)
and the content is not square.
OTOH, ignoring page size is done for good reasons - we usually want just
the drawing area when inserting an image into a document.
An invisible square with fixes this problem.
Some icons had spurious invisible elements outside the page -- leading
to too small results in the PDF. These were removed.
(#8738)
For efficiency, we add a new flag to the buffer indicating when changes are
present. This flag is updated at each buffer update, and also when explicitly
requested via a dispatch result flag.
The old text was incorrect and came from the 2.0 release. LyX works fine if
the default python interpreter is python 3, as long as python 2 is available
as well.
Building LyX does also work with python 3, but since I did not check all
special build steps with both cmake and autotools, I kept a note about
possible problems.
The aim of the tutorial is to explain how to use LyX and not special LaTeX issues with \frontmatter, non-TeX fonts etc. Therefore the preamble should kept clean.
We ensure that configure.py is called by python2, regardless whether 'python'
is python 2 or 3. Therefore we can simply call TeXFiles.py with the currently
running interpreter. This fixes configuration on systems where 'python' is
python 3.
The difference has been validated with diffpdf.
The following could not be tested and were left unchanged:
docbook_article.lyx
lilypond.lyx
linguistics.lyx
springer/sv*.lyx
de/linguistics.lyx
es/linguistics.lyx
ja/FeynmanDiagrams.lyx
ja/lilypond.lyx
ja/beamer.lyx
ja/xypic.lyx
The following is the script that I used (in lib/examples):
LYX=../../build/src/lyx
$LYX -E pdf2 $1.old.pdf $1
sed -i "s/^\\\\begin_inset Separator parbreak$/\\\\begin_inset Separator plain/" $1
sed -i "/^\\\\begin_inset Separator latexpar$/ { N; d; }" $1
$LYX -e lyx $1
$LYX -E pdf2 $1.pdf $1
diffpdf $1.old.pdf $1.pdf
The difference has been validated with diffpdf.
The following could not be tested and were left unchanged:
AEA.lyx
IJMPC.lyx
ja_beamer-conference-ornate-20min.lyx
The following is the script that I used (in lib/templates):
LYX=../../build/src/lyx
$LYX -E pdf2 $1.old.pdf $1
sed -i "s/^\\\\begin_inset Separator parbreak$/\\\\begin_inset Separator plain/" $1
sed -i "/^\\\\begin_inset Separator latexpar$/ { N; d; }" $1
$LYX -e lyx $1
$LYX -E pdf2 $1.pdf $1
diffpdf $1.old.pdf $1.pdf
We do not currently handle UTF-8 characters in our layout strings.
Replace dashes with simple ASCII dashes to avoid the following
error:
msguniq -o lyx.po
msguniq: input file '-' doesn't contain a header entry with a
charset specification
This commit amends the recent commit b4dcad83.
This was discussed in the thread "Translations of Math environments in LyX
output for LyX 2.2" at http://www.mail-archive.com/lyx-docs@lists.lyx.org/msg08633.html
and has been reviewed. The problem was that in 2.1, the portuguese translation
was correct in lib/layouttranslations but different in po/pt_PT.po. In fact,
the translation is the same for all three languages spanish, portuguese and
brazilian portuguese.
This is the same as the parbreak separator and is represented on screen
as the old parbreak. Old parbreak separators are converted to latexpar
separators when they are used for introducing blank lines in the
latex output rather than for separating environments.
Instead, parbreak separators are now represented on screen by a
double line. In essence, latexpar and parbreak separators produce
the same output but are represented differently on screen.
The context menu does not account for latexpar separators and only
"true" separators can be turned each into the other one.
After some discussion between Georger, Pedro, Pavel and me Georger came to the
conclusion that Mapa is not the correct translation of Chart in this context.
Originally he proposed Gráfico, but since that would be identical to the
translation of Graph we decided that Diagram is better. It is a bit more
general than Gráfico, but it is also used in pt_PT, and the german translation
uses the german equivalent, which is more general as well. Those who need a
Gráfico can still use Graph.
Unfortunately Geoger based the new .po file on the remerged one at
259196e1a6, so we have now the situation that pt_BR is remerged, but the
other languages are not.
These translations were changed implicitly at ad6ab20bb1: Previously, the
translations were taken from pt. At ad6ab20bb1 all pt_BR translations were
copied from pt_BR.po, so we do still need a review for those that differ from
pt_PT.
The term LongTable has been deprecated and moreover the renaming makes the interface easier to the eye.
File format updated to 507. (conversion based on jamatos patch)
Layout format updated to 60.
tex2ylx tests updated.
Document EmbeddedObjects.lyx has been updated.
We now create a backup file when overwriting a file with a new file
format. See #9554 and cc83dfa8. This is now documented in
RELEASE-NOTES.
Thanks to Livu.
These have been forgotten by the last update, since bg, ko and sl are not in
po/LINGUAS. I add them here so that it is obvious that these translations are
missing.
When running the tests with ctest, --rerun-failed can be used to run
the tests that failed on the previous run. However, the same subset
must be specified because it is the test numbers that are used to
index which tests failed on the previous run. For example, it would
be incorrect to do the following:
ctest -R export
ctest --rerun-failed
The following is correct:
ctest -R export
ctest -R export --rerun-failed
* Increase LyX format
* New function convert_info_insets in lyx2lyx_tools.py
Use this function in the future for future updates of info insets
* Convert "inset-modify tabular" to "tabular-feature" in info insets
* Remove icon naming hack regarding "inset-modify tabular"
Unfortunately the footmisc package does not work together with hyperref:
Before 0bf8b8a1, a footnote in a section title was created as a link in pdf
outpout, after 0bf8b8a1 ist was no link anymore. For now we revert to the old
code, and wait until the footmisc and hyperref packages are made compatible.
See my post on the list - enumitem is already described in the userGuide.
(Besides this a makefile entry was missing for the file.)
Please don't add documentation files without a discussion or a review, especially not in a beta phase.
We do now have .sfd sources for all fonts, so either we distribute all of them
with the source package or none. Since the accumulated size is not negligible,
and the are not needed to build LyX, but serve a really special purpose, we
do not add them to the source package for now.
Thanks to Enrico for doing the actual work (my fontforge omits the
TtInstrs...EndTTInstrs blocks for some reason I do not understand).
I did only check that the only difference between the old and new .ttf is the
changed position of the bracketleftbigg glyph. This does finally fix bug 6115.
Generating a ttf from cmex10.sfd would fix bug 6115, but unfortunately I am
unable to export a ttf with the same settings as the existing one, so this has
still to be done.
Since \output_changes is written again at the original position, we need to
fix those files that have been updated using the intermediate version.
The update was done by running development/tools/updatedocs.py <lyxexe> where
<lyxexe> was the path to an up to date LyX binary. All files that did contain
additional changes were reverted:
lib/doc/LFUNs.lyx
lib/doc/UserGuide.lyx
lib/doc/Shortcuts.lyx
lib/examples/de/beamer.lyx
The \SpecialChar changes are fine, these files have never been saved by LyX
after the update to 483.
Increment LyX format to 504.
With this new parameter, the user can indicate that some other parameters that
are frequently switched must not be recorded in the file (as if they were a
setting specific to the user or transient, rather than a document setting). This
will play nicer with version control systems.
See the discussion, e.g.:
http://thread.gmane.org/gmane.editors.lyx.devel/157824/focus=157993 (third
solution mentioned)
TODO:
* The interface remains to be set up. We cannot change this setting from LyX
for now.
* If save_transient_properties is false, we should read the user setting as a
per-user-per-document (session) setting (e.g. like the cursor position).
* Once the above is done, we can treat \justification the same way (but it would
be even better if \justification was moved to lyxrc).
The current behaviour of the \origin parameter replaces relative file names
with the absolute original names if a document has been moved even if the
files have been moved as well. This behaviour is annoying e.g. for editing the
LyX docs in a git checkout.
Now file names are only replaced if the referenced file sdo not exist.
The lib/unicodesymbols part is based on work by Günter Milde:
Both, \r{A} and \AA (rsp. \r{a} and \aa) are equivalent standard LICR macros
for Aring/aring as well as the deprecated "angstrom sign" character (212B).
However, with \AA for 212B and \r{A} for 00C5, tex2lyx converts \AA to the
deprecated "angstrom sign" which is missing in many fonts including the
Unicode version of Latin Modern.
I added the normalize_c() calls so that tex2lyx prefers the precomposed forms
(these are better editable in LyX) and the deprecated flag.
* missing characters in linguistics example with system fonts
* language nesting problem in fr/linguistics example
* 110f505b63 solved one failure (Basque example file)
This does not change output, only GUI.
paper: make sure that the starred sections use proper sans serif on screen.
foils: add relevant categories to layouts
The default behaviour of git for text files is to store unix line endings in
the repository, and to convert to native line endings in the local workspace.
This plays well with the LyX behaviour of storing files in native line endings.
Unfortunately it may break if files are sent around by email and submitted on
a different OS than the one they were last saved, and this did probably happen
in 6b0632eea.
These were using lyx2latex, assuming the result can be used in verbatim
insets as is, which is not the case (mostly due to \\backslash).
A new lyx2verbatim function is now used instead. Also, ERT insets are
dissolved in the gloss reversion process.
Preliminary work for addressing #7790. Thanks to Richard for providing initial
files this is based on.
Adding to TextClass:
OutlinerName <string> <string>
(the second string is translated)
e.g.:
OutlinerName thm "Definitions & Theorems"
Adding to Layout:
AddToToc <string> (default "", means no)
IsTocCaption <bool> (default 0)
e.g.:
AddToToc thm
IsTocCaption 1
Adding to InsetLayout:
AddToToc <string> (default "", means no)
IsTocCaption <bool> (default 0)
e.g.:
AddToToc literate
Adding to inset arguments:
IsTocCaption <bool> (default 0)
Pdflatex is the recommended export tool for the manuals.
Pdflatex brings the best results for hyperlinking.
Some features (e.g. rotated text) are not available in DVI or PS (dvips).
This does not affect export from command line or autotests
(where this setting is ignored and the format must aways be given explicitely).
After removing "unneded" PNG files from the repo, this manual failed.
Skaling is done to ensure that the icons are approximately one M high.
Also, the default output is set to PDF (pdflatex) as this is said to be the export
format our manuals are designed for.
Always-Babel now set in the example document.
Adapted the autotest categorization:
* fails for some developers (why?)
* wrong output with pdflatex/LuaTeX and DVI (missing landscape slides).
We do not update the local layout of our .lyx files because users
would then not be able to export to older formats. For example, if a
2.2.0 user exported a template to 2.1.x format and tried to open the
file in LyX 2.1.x, there would be an error because the file would
contain a local layout whose format is too new. The root reason for
this is that we do not convert layouts to older layout formats.
Otherwise it could easily happen that the order is changed, since rsvg_convert
seems to be more picky about invalid files (see http://www.lyx.org/trac/ticket/9891)
exist. This will allow for a proper fix for bug #8796, though that may or may
not get fixed before 2.2.0.
Also, change the InStyle tag to ModifyStyle, per a suggestion of Jurgen's.
patch. Also fix some escaping problems (\end instead of \\end).
My testing revealed some other problems with this routine: stray
\noindent tags popping up here and there. I don't have time to fix
it right now but will try to come back to it.
Some templates had the inputenc setting "default" (meaning
use the language default encoding, (not TeX's default which is 7-bit ASCII) but
don't load inputenc, leave handling of non-ASCII characters to the author).
This is no apparent problem as long as no non-ASCII character is used in the
document. It is very unsave, however, as any non-ASCII character used in the
document has the potential to either make compilation fail or be
misrepresented in the output.
No single translation has been changed, but pt_BR and pt_PT are now correctly
sorted. This removes the artifical diffs that running
make ../lib/layouttranslations
did produce previously.
Also MacOSX ReadMe files. Note that a few lib/doc files are
also "updated" because trailing spaces are removed, but their file
formats are the same because they were recently updated at 83672113.
I did "git checkout LFUNs.lyx" because this file is generated
automatically and has a special header.
Prevent loading of lmodern.sty if non-TeX fonts are set and
Define DejaVu as non-TeX font.
This ensures that non-TeX fonts are used if requested (lmodern.sty set
the 8-bit version of LatinModern if compiling with LuaTeX).
Also ensure that a font with all characters is used. (LatinModern misses small
Greek characters.)
Similar actions for other manuals and examples with Greek or Cyrillic script
will solve some more export tests with non-TeX fonts.
These were fixed manually. I tried to add an option to updatedocs.py to
open and save a file with LyX, but that did not work, since
lyx -x 'command-sequence buffer-write ; lyx-quit' does not write and does
not quit.
gen_lfuns.py does now produce the current file format, and and LFUNs.lyx was
re-created with the updated script.
There is one difference if you compare this version of LFUNs.lyx with the old
version updated by lyx2lyx: All occurences of LyX, TeX etc. in the lfun
descriptions are no longer output as logos. I do consider this as a feature,
since the old version did also output the TeX part of BibTeX as a logo, as well
as places where the names were part of some syntax, e.g. lyx::LyXRC::LyXRCTags.
lyx2lyx did not yet know about /systemlyxdir/ and set \origin to the path
where my git tree lives instead. This path is not usable except on my machine,
so better write something more usable instead.
This is a special command line switch of lyx2lyx, so it does not interfere
with normal usage. I did not try to deduce the systemlyxdir from lyx2lyx to
be on the safe side.
This is one part of bug 9744: If you toggle between TeX fonts and non-TeX
fonts, the settings of the other choice are no longer thrown away, but stored
and re-activated if you switch back. Most parts of the patch are purely
mechanical (duplicating some BufferParams members), the only non-mechanical
change is in the GUI logic.
then just perform a null conversion. This seems better than aborting
with an error. I can imagine a script that converted all files in a
certain directory to format 498, and you don't want it to be an error
if one of them is already 498.
Prior to this, what lyx2lyx would do is convert to the lowest format
in the current version. So, e.g., asked to convert 498 to 498 it would
convert to 474. That is obviously wrong.
Each way might be preferred by a different developer and the more
ways that can be described of running the tests, the higher the
chance is that developers will find a way that works well for them.
Explain why the export tests are enabled for formats that are not
expected to work well with certain document classes, modules, or
packages. The reason is that if a .lyx file goes from compiling
successfully for one format (even if that format is not officially
supported for the combination of features used), if that document
suddenly fails to compile, there is a significant chance that a bug
was introduced in LyX. In other words, there is a high signal/noise
ratio. If it is determined that a test is failing because an
expected incompatibility is exposed, then the test can be inverted.
People working on the documentation do probably want to switch this on. It
gives easy access to LyX and LaTeX logos (bug 9626), and the info and menu
separator insets.
The export tests, check_load tests, and URL tests are now documented
in the Development.lyx file. The export tests are described in
detail, such as how to run them and how to interpret the results.
These icons are for lfuns that are not very interesting for users, but quite
often used when working on the LyX documentation. Now we can create a special
LyX documentation toolbar.
Many of our documents have babel-specific preamble code. By putting
this code in a \@ifpackageloaded{babel}{}{} conditional, XeTeX and
LuaTeX compilation with polyglossia now works. This fixes some
LuaTeX tests that were broken by edd37de8 and also allows us to
uninvert some XeTeX tests.
Note that in some of the files although the preambles were fixed to
allow for polyglossia, they still do not compile without errors:
es/Math.lyx
es/Customization.lyx
de/Customization.lyx
Similar fixes might be desired in other manuals but these at least
fix regressions in the tests.
PolyglossiaOpts are case-sensitive so "latin" must be changed to
"Latin". Without this change, compiling examples/sr/Braille.lyx
with LuaTeX and system fonts gives the following error:
Package Polyglossia Error: Unknown script `latin' for Serbian
language
Many of our Spanish documents use babel-specific features in the
documents, e.g. to write "sin" in Spanish ("sen"). Because babel
seems to have good support for Spanish, I am setting the "Always
babel" for the manuals.
This fixes several LuaTeX tests with non-TeX fonts. A XeTeX test is
also reverted accordingly.
Some of my following commits will make changes to these files
(mainly just changing the preambles). This commit simply updates the
format so the diffs of the following commits are easy to read.
Since a while now we can translate the unit descriptions. For some special applications it is also necessary that the users know the LaTeX command of the relative units.
- also fix a typo in Customization.lyx
- also disable PDF-reply since this never works correctly and it could even destroy the whole PDF and exceeds the TeX capacity
- update the french version accordingly
paralist.sty extends the standard list environments by some more compact
versions. Support for this has already been requested 15 years ago, and
now I needed it myself.
* Omit commented-out lines
* Properly escape backslash
* Do not allow non-space chars after delaration
* Allow blanks before # comment character
Fixes: #9746
Greek and Times under MikTeX with auto-install may fail due to a half-installed
font package. However, the workaround in LyX stands in the way of
alternative approaches (see bug #6469).
`os.popen` is deprecated since Python-2.6. Also, this fixes the handling
of files with quotes in their names. The patch requires Python >= 2.7.
Furthermore, the patch executes the lyx2lyx script with the same
interpreter used for it, to maintain compatibility.
I also removed some lines related to Python-2.4, as it is no longer
supported anyway.
Actually photos (i.e. .jpg files) where supported previously, but for pdflatex
output an unneeded conversion to png was done. The RasterImage templates
behaves now exactly as InsetGraphics for these files: If the input format is
jpg, use that for pdflatex, else convert to png.
This is another advantage of the new logo insets: We see in LyX where they are
inserted for the output. In these two cases, the text describes keywords of
the external template configuration file language, so these should not be
typeset as logos.