When a user creates a new document from a template, the template
is copied but relative paths are not changed, so the resulting
.lyx file is broken. By moving documents with relative paths to
examples, the files will compile out of the box.
A long-term solution that allows for relative paths in templates
is still desired and will be discussed in #8643 or in a new ticket.
The main part of the fix (unicodesymbols) is from Jürgen. This commit fixes
tree problems:
- \; etc. were also used in text mode, but are math only
- all of those glyphs need to be forced with utf8
- actually, \; etc. are not the correct macros, since the encoded spaces are
breakable, but the math spaces are all protected. The sapce symbols are not
defined in the utf8 encodings.
LyX, lyx2lyx and tex2lyx produce now all the same version indicator consisting
only of the major and minor version. It is not decided yet whether future
development versions will add a -dev suffix, but for 2.1.0 this change fixes
the inconsistencies.
We assume chunks come at us in a certain form. If not, then
we cannot handle the conversion. In that case, we just leave
the chunks as they were and they will appear as unknown layouts.
- added bindings for 'math-delim' as a workaround
for US keyboards with Windows
- added bindings for 'word-left' and 'word-right'
- added two more sets of bindings for 'math-subscript'
and 'math-superscript'
- corrected some greek letter bindings
- insert is bound to 'math-mode'
- changed 'screen-recenter' binding to C-j
- added various other bindings
Thanks to Michael Stepner for many of the fixes and testing.
- remove the tables I once used to order all possible "Requires" features
- update the list with possible "Requires" features
- some style fixes here and there
- Additional.lyx: update description and convert some TeX code to the multicolumn inset
- multicol.module: restore the preamble settings that was accidentally removed bin the previous commit
- both files: remove \CJKindent which prevented the compilation with XeTeX, load the xeCJK package which is necessary to get text lines broken at the page margin
Both files are still compilable with pdfTeX because then xeCJk does simply nothing.
- Intro: replace TeX code by its LyX inset and alsoremove unnecessary document class option "cjk"
With LyX configured in this way, the user would only need to:
File > New from Template > EPS.lyx (or PDF-cropped.lyx):
- insert a math inset and type in an equation, or create whatever
content LaTeX can handle,
- view/export to cropped EPS/PDF.
This would allow for LyX to act as a "generator for includable graphics" (equations, commented graphics, etc).
This fixes bug #7839.
- mention that the aa class loads natbib to avoid compilation errors
- the aa package contains an outdated an customized version of natbib.sty. This file only works with aa, but breaks the compilation of many other files on your system, therefore remove the bibliography and replace it by BibTeX
- add a note about the encoding
(unless it's already there, in which case it should move to the end of the next paragraph).
Change the preference setting name (mac_like_word_movement to mac_like_cursor_movement)
to better reflect its function.
Patch and description from Bennett Helm
* InsetBox and GuiBox: Use proper empty length instead of the broken -9.99col% trick
* some slight changes to the logic of GuiBox to make sure that values are set as needed.
* lengthToWidget(): handle properly the empty length case. All the other related Qt helpers did it already, it was probably an oversight. Also set the default_unit parameter as optional (not needed in this patch actually, but I got carried away :)
* allow generating LaTeX code for an empty length, since some broken code does that.
- make template compilable
- update it according to the latest AEA guidelines
- add 4 missing styles to the layout:
* \keywords
* \JEL
* figurenotes environment
* tablenotes environment
Before, only PDFs were being generated so latex did not compile.
Now, both PDF and EPS files are generated.
This is not efficient but could save the user some pain, which is
the goal of templates.
An alternative would be to set the default output to use pdflatex.
The layout now takes care of \begin{article} and \end{article}
by using \AtBeginDocument and \AtEndDocument.
This cleans up the template a little by removing some ERT. The
user no longer needs to read the two notes explaining why the
ERT boxes were necessary. The user also does not need to think
about why this LaTeX environment exists.
The default citation capability of LaTeX is not a true numerical
citation engine, rather it uses a mixture of labels/numbers. Thus
we now distinguish them: "numerical" always increments the bibitem
counter and uses its value as a numerical citation label, while
"default" only uses the bibitem counter when no label is provided.
LyX file format incremented to 471.
These should be used if any new style needs to be introduced in the stable
2.1 series: If the ForceLocal flag of the style is set, it will always be
written to the document header, so that even older 2.1 versions can read
and correctly output the document.
If you have an unmounted dir, ac_dir, in your PATH, the call to
os.path.isfile( os.path.join(ac_dir, ac_word + ext) )
hangs. This is probably a python bug, but the result of configure.py
hanging and LyX freezing is really bad, hence this workaround.
According to the python docs, MacOS doesn't provide os.access();
the hasattr protection is used for this reason.
I was confused when I checked this. It looks like plainnat.bst
overwrites this default to use [Ref1, Ref2] style instead, but
when using natbib's defaults you get the (Ref1; Ref2) style.
This was suggested by Jean-Marc some time ago, and I simply forgot to apply.
With this change you do not see unusable menu entries like linkback on linux
anymore. I also added an entry for emf, since this will be quite useful on
windows.
ps2pdf by default produces the PDF 1.4 format. The PDF 1.3 format was
released in 2000. PDF 1.4 was released in 2001. LyX specified 1.3 as
the output version in 2002 (c1541c22), perhaps because at the time
PDF 1.4 was only a year old so some viewers did not support it.
When using CMake, the binary files are stored in <build-dir>/bin. LyX can't fin tex2lyx with the current code. So, we have to point configure.py to explicitly look in the binary dir.
'Acknowledgments' does not belong in the title but did not override
'InTitle 1' inherited from 'Abstract'. Without this patch, the
following error is given:
output_latex.cpp (1111): Error in latexParagraphs: You should not
mix title layouts with normal ones.
Thanks to Hashini Senaratne for narrowing down the problem.
As discussed on the list. No automatic contents detection is done, the user
needs to use the special paste menu instead. I used the new TempFile class
for safe temporary file handling.
The documentation would go into section 2.2 of UserGuide.lyx, but I am not
allowed to edit that document.
Before, the converter chain for DocBook -> PDF (ps2pdf) was:
docbook -> DVI
DVI -> Postscript
Postscript -> PDF (ps2pdf)
sgmltools has a backend for PostScript so the first two
steps in the above converter chain are now condensed into
one by adding the following converter for docbook -> Postscript:
sgmltools -b ps $$i
gnuhtml2latex does not handle encodings at all. Therefore the result is not
imported correctly by tex2lyx if the HTML file is encoded in anything else
than ascii or latin1 (the default of tex2lyx). The simple wrapper script
loads inputenc if needed. It may not be possible to compile the result with
LaTeX, (e.gif utf8 is used), but for running tex2lyx it will work just fine.
- we found out that Kazakh is currently not supported by babel nor polyglossia so that using Kazakh as language will break the compilation, Günter proposed therefore this encoding change until Kazakh is supported.
- this is not the way it goes, all Tutorials should stay identical as possible, moreover there is no need to disable PDF bookmarks because the document compiles without problems, moreover I still manage the documentation and as long as there is no beta for LyX 2.1 please keep the fileformat of LyX 2.0
- if you have problems compiling a file, report this as bug or the docmentation mailing list! or at least write me a mail
The reasons are specified in the note at the top of the template:
It is possible to export with plain LaTeX but an option must be
specified to remove some elements (e.g. JSS logo).
If the 'nols' option were set, the files could be output with plain
LaTeX as well; but because letterspacing is an important part of the
Tufte design, letterspacing is preserved and pdf2 is set as the
default output format. This is now explained in a note.
If you do not explicitly specify the output file name, gnuhtml2latex will
guess a file name itself. The result of the guess is not what we expect if
the input file name did not contain a .html extension, but something which
is not related to a format, e.g. .qV9984 from FileName::tempName().
output, due to failure to clean the ids in the new citation stuff.
I've solved this by allowing the citation format information to contain
keys of the form "clean:key". This signals that we are to apply the
html::cleanAttr() function to the key before returning it. I.e., we
strip non-alphanumeric stuff, basically.
- fileformat change
- it was a pity that LyX did not yet support a simple rectangular frame without a defined width but LyX did this for e.g. oval frames
- \fbox and \mbox often occur in TeX files and can now be imported
Previously, the format used for included pdf files was the same as for
document export via ps2pdf. This caused unwanted conversion routes, e.g.
export via odt->pdf instead of dvi->ps->pdf.
I renamed the format for included graphics and not for exported documents,
since otherwise the command line syntax for export would change. This would
require more adaptions for the users, since with the chosen solution the
custom converters are almost always changed correctly in prefs2prefs(),
so that only custom external templates need manual adjustement.
* Powerdot now also uses the native overlay item arguments
* a list option argument is finally available
* \pause natively supported (like in beamer)
* support for \onslide (via InsetFlex)
* support for \twocolumn
File format change.
With this commit, old beamer frames are converted to new ones. The old styles are removed (including the infamous \lyxframe).
This should be tested with as much beamer documents as possible (I have already done so), also, tex2lyx now probably produces invalid LyX files.
From version 425 to 463, the cancel package is used automatically.
Take this into accound when converting to old formats: For the step
464->463 do nothing if cancel was set to auto. For the step 425->424,
add the \usepackage statement as before.
Somehow I overlooked that \sideset also supports nonscript arguments for
left and right. This is now fixed, although I do not like the toolbar names.
If somebody knows something better, please improve.
\textsubtilde is a combining character (0x0330), but 0x02f7 is not.
Apart from the wrong LaTeX output, having the same command for two symbols
confuses texc2lyx.
This default argument is inserted iff no inset argument is present. This is useful particularly for mandatory arguments that need to have a sensible default value.
lyx2lyx died with UnicodeDecodeError: 'ascii' codec can't decode byte if a
layout with a non-ASCII character in the file name was used, since the
textclass member of the LyX class was of type str, and not unicode.
- the column limit for decorated matrices does no longer exists
- move the former "accents for operators" sections to the operators section because these are no accents but operator-specific decorations
- add a note for \sideset
- formatting adjustments
The rest (Tutorial.lyx, Math.lyx, EmbeddedObjects.lyx, UserGuide.lyx,
Intro.lyx and Additional.lyx) are left untouched, because
still not compilable with platex
- Use the LyX name of encodings instead of the LaTeX names.
The LyX name must be unique, while the name used by LaTeX
not necessarily, e.g. different packages might implement
support for the same encoding.
- Rename koi8 to koi8-r, so that the LyX and LaTeX names match.
- Rename euc-jp-plain to euc-jp-platex, jis-plain to jis-platex
and shift-jis-plain to shift-jis-platex.
- Add utf8-platex encoding (fixes#8408).
LyX file format incremented to 463.
The issue here was that an AMS symbol is used as 4-th level bullet, but 'use AMS Symbols automatically' was not selected.
This is a candidate for branch.
The toolbar image is the one Uwe attached to the bug report. Note that
\sideset works only for operators like \sum in the nucleus. LyX allows
any content, so you might get a LaTeX error. I don't know how to prevent
wrong content in the nucleus.
- use a default font except a special one is available
- add our documentation preamble disclaimer
- fixes all occurrences (there were many of them) of the LyX console warnings
"unusual contents found: [formula equation [grid [row [cell [xymatrix [grid [row..."
when the document is opened
- style and formatting fixes for consistency
- this new modernCV version fixes the annoying linebreak bug I was suffering so long, it moreover adds 2 new features
- lyx2lyx/lyx_2_1.py: updated to revert the new features
The advantage of having this in LyX is the intelligent file name handling
of included files. Implementation as discussed on the list, but ensure also
that an attempt to use locked files fails.
- Implement catcode setting in Parser
- add a new Parser::verbatimStuff method that reads verbatim contents
- use this method to parse "verbatim" environment.
- use it to parse \verb too.
- rename Parser::verbatimEnvironment to ertEnvironment.
TODO:
- use for other verbatim-like cases (Sweave chunk, lstlisting...)
- factor out the function that outputs ERT (including line breaks)
- maybe implement Parser::unparse (if needed)
In unicodesymbols we use the wasy fonts intensively. So we also need to check for them. (wasysym is not the font package itself, only a package to support it: "LaTeX support file to use the WASY-2 fonts. The wasysym package implements and easy to use interface for these symbols.")
This patch implements 'move row' and 'move column' features for tabular.
The purpose is to provide a useful behavior in tabular that is
consistent with PARAGRAPH_MOVE_UP and PARAGRAPH_MOVE_DOWN so that the
user can, for example, do alt-<up> to move a row up. Alternatively,
icons for these features are also added to the table toolbar and
context menu.
If there is any selection, the feature is disabled. This is consistent
with how PARAGRAPH_MOVE_UP works in other contexts. Additionally, 'move
row' is disabled if there is a multi-row in the current or target row;
and 'move column' is disabled if there is a multi-column in the current
or target column.
'move row' moves only the left and right borders of a cell along with
the row. Similarly, 'move column' moves only the the top and bottom
borders.
Implementing similar functionality for other insets, such as arrays and
array environments, is on my TODO list.
- shapepar.module: new module to get non-rectangular paragraph shapes
- SpecialParagraphShape.tex: an example shape definition file
- Additional.lyx:
- accept all changes and updated all language versions accordingly
- describe how to get custom paragraph shapes (last section of the document)
- preamble cleanup
Most images are generated by development/tools/generate_symbols_images.py, but
some were drawn manually. Now there is no image missing from the ones the
script can generate.
Some macros defined by wasysym.sty work only in text mode: They either
produce an error in math mode, or wrong output. These symbols are now marked
as text symbols, so that no \ensuremath is created for LaTeX export if they
appear inside \text{}, and the correct images are created.
What was previously accomplished by wrapCitation is now customizable in the
layout files. What we provide by default here corresponds roughly to the
LyX 2.0 behavior.
- achicago
- apacite
- apalike
- astron
- authordate
- chicago
- harvard
- mslapa
- named
This allows these citation packages can be Required by the document layout.
LyX handles the package ordering, loading any of these packages before natbib
when both are required by the document layout. For example, apacite can be
used with or without natbib.
The package achicago isn't compatible with natbib out-of-the-box,
but the following compatibility code makes it work:
\usepackage{achicago}
\let\achicagobib\thebibliography
\usepackage[authoryear]{natbib}
\let\thebibliography\achicagobib
\let\UnexpandableProtect\protect
\let\SCcite\astroncite
- the packages which are independent of document classes are checked first - for the case that the Internet connection breaks during the checking/installation of missing packages
- Add a note about HTML.
- Add a note about using external files.
- Add a note about using lilypond variables and commands.
- Some corrections and nitpicks.
In particular, lilypond-book is just a python script. On windows,
we need to call the python interpreter, using the full path to
the script while being wary of spaces in the path.
The old layouts are still there (marked as deprecated). The new ones are more or less correctly reverted (polishment required), but the old ones not yet converted to the new. Once this is done, a further file format change should be made.
- uniform formatting, clarifications, simplifications, updates, added missing information
- German Customization.lyx: also translations, added missing information that is already in the other language versions
These encodings were not defined, since they must not be used as document
encodings (the characters {, } and \ may appear in high bytes, and latex
would be confused). However, they are supported by CJK.sty (which uses a
preprocessor to circumvent the limitations of the latex executable). These
encodings are now defined, but used for import in tex2lyx only.
The test case CJK.tex contained fake tests for shift-jis and big5 (the
japanese and chinese characters were entered using the utf8 encoding), and
therefore the wrong interpretation of these encoding looked as if it worked.
The comments about missing iconv support of shift-jis and big5 were wrong as
well (otherwise shift-jis-plain would not work either).