After the str-metrics merge, the kludge for displaying symbols whose
code point corresponds to a soft-hyphen was not working anymore.
The solution is replicating the offending glyphs with index 0x00ad
at a different index. They were replicated at 0x00ac, whose glyph
was missing in all affected fonts.
However, this would not work by alone because, if a system font with
same family name exists, it would be picked up instead of the right one
(at least on non-Windows platforms). For this reason, the style of the
fonts has been changed from "Regular" to "Lyx", so that we can discriminate
the right font. However, this requires using at least Qt 4.8. If an
older Qt is used *and* a system font with same family name is already
available, the affected glyphs will all turn out on screen as the
"logical not" symbol.
I have also set the executable flag on the font files, because on Windows
they are loaded only in this case.
This solves #9229.
* \caption does not need to be protected in general
* the contents of \caption arguments need to be protected, though.
All styles related to caoption inset have been audited and updated.
The special casing of captions in longtables has been removed, since there is no special case.
Fixes bug: #9177
This is a part of bug #9372. The remaining part (\ne) is not easy to fix,
since \ne is a predefined macro internally, so the HTML output is done for
the expanded macro, and we have no machinery to assign a HTML output to a
complete macro.
The reason being the backslashes in the path. Note that escaping
does not work here because the path is being interpreted multiple
times (how many times I don't know) and that would be fragile.
For this same reason, the change is not limited to Windows.
This allows to address two main issues
* \thanks does only accept one paragraph, while \footnote allows several (ticket #2666)
* footnotes in titling environments were not numbered on screen.
Moreover, the code reduces hardcoding of features, which is always a good thing.
There are several pieces in this commit:
* new numbering type \fnsymbol for counters
* the Foot inset changes its layoutName() to Foot:InTitle when inside a paragraph with InTitle property. This is set when running updateBuffer.
* Foot:intitle uses the \thanks command, does not allow multiple paragraphs and marks its contents as moving argument.
* The InsetLayouts for Foot now have properLaTeXName/Type, so that InsetFoot::latex can be removed; further code simplification is probably possible.
Fixes: #2666
C-M-a is bound to the global "select all". The
reason for this change is that selecting an inset
is a more common operation that selecting an entire
document.
This patch is the result of discussion on #7727.
This makes the script usable on windows and speeds it up by an order of
magnitude, since no new process needs to be forked for each layout file.
It also does not conevrt .old files again.
This is a patch I originally sent to lyx-devel in 2012 with subject
'Load footmisc.sty instead of using copied code from obsolete stblftnt.sty'.
It now takes all comments into account: It works also if the user loads the
package herself, it can be disabled by providing the footmisc feature in a
layout, and it does not use the ugly \AtBeginDocument{}.
Fix a crash reported in #7727. This happened because cur.pos() was reset before cur.pit(). In this case, cur.lastpos() will usually be wrong.
Fix bad behaviour when selecting at top level with several paragraphs.
Update documentation.
- the example was designed to follow the style of the other LyX documentation files, e.g. not to insert options as one big TeX-code inset.
- fix some typos
- (I cannot save files with LyX 2.2 atm due to bug #9234)
this module was not usable since the preamble stuff was missing and also almost all options. But many PDF-comment types are quite useless without options.
These are SVGs from the Tango icon set as well as some theme-independent self-made icons. Many icons are missing. This set s a wild mixture of Tango, old KDE icons and some self-made icons drawing on (to me) unknown models.
I leave the task to finish this set (and thus the SVG icons generally) to others.
These are automatically generated via the generate_symbols_svg script. Some were modified manually afterwards.
These certainly need some manual care, and a number of icons are missing (cannot be created automatically). But it is a start.
This reverts commit cde8707 and changes "AGUTeX" back to "agutex".
The maintainer has changed "AGUTeX.cls" back to "agutex.cls" and has
confirmed (through private email) that he plans to keep the filename
all lowercase now that he is aware of case-sensitive file systems.
This branch implements string-wise metrics computation. The goal is to
have both good metrics computation (and font with proper kerning and
ligatures) and better performance than what we have with
force_paint_single_char. Moreover there has been some code
factorization in TextMetrics, where the same row-breaking algorithm
was basically implemented 3 times.
Globally, the new code is a bit shorter than the existing one, and it
is much cleaner. There is still a lot of potential for code removal,
especially in the RowPainter, which should be rewritten to use the new
Row information.
The bugs fixed and caused by this branch are tracked at ticket #9003:
http://www.lyx.org/trac/ticket/9003
What is done:
* Make TextMetrics methods operate on Row objects: breakRow and
setRowHeight instead of rowBreakPoint and rowHeight.
* Change breakRow operation to operate at strings level to compute
metrics The list of elements is stored in the row object in visual
ordering, not logical. This will eventually allow to get rid of the
Bidi class.
* rename getColumnNearX to getPosNearX (and change code accordingly).
It does not make sense to return a position relative to the start of
row, since nobody needs this.
* Re-implement cursorX and getPosNearX using row elements.
* Get rid of lyxrc.force_paint_single_char. This was a workaround that
is not necessary anymore.
* Implement proper string metrics computation (with cache). Remove
useless workarounds which disable kerning and ligatures.
* Draw also RtL text string-wise. This speeds-up drawing.
* Do not cut strings at selection boundary in RowPainter. This avoids
ligature/kerning breaking in latin text, and bad rendering problems
in Arabic.
* Remove homebrew Arabic and Hebrew support from Encoding.cpp. We now
rely on Qt to do handle complex scripts.
* Get rid of LyXRC::rtl_support, which does not have a real use case.
* Fix display of [] and {} delimiters in Arabic scripts.
For Windows: AcroRd32 and gsview (both 32 and 64 bit versions).
For Unix: qpdfview.
Qpdfview is a nice alternative to Okular for KDE users and a superior
alternative to Evince for Gnome users, due to its complete synctex
support. It only depends on Qt libraries for the graphical interface.
This variable was introduced to guard against any bad consequence of the then-new right-to-left
languages support. Let's be bold and get rid of it altogether!
Now right to left support is always enabled.
The lyx2lyx conversion for format 352 was incomplete: It should have been
added the \use_indices setting, but it relied on the fact that the default in
LyX for missing \use_indices is the same as the old format without that
setting used. However, the default might change in the future, and later
lyx2lyx conversions rely on that setting as well.
Thanks to maciejr we know now what the remaining problem was with bug 7954:
My unicode symbol fallback works fine, the problem was that a font named
"Symbol" is available on OS X, but it does not use the font-specific encoding
we expect: Almost all glyphs are at their unicode code point.
Therefore the bug is fixed by re-enabling the unicode workaround and blocking
the Symbol font on OS X.
This is needed so that the new format number is actually used. Since the
conversion is a noop I did not update the layout files (more updates will
come).
trim_eol() assumes that a line always ends either with \n, \r, or \r\n.
This assumption is always valid except for the last line of a document, since it
may miss the trailing newline. LyX does not create such documents, bu they may
result from automatic creation tools, and LyX can read them, so lyx2lyx should
be able to read them as well.
This is mainly needed to reduce the amount of ERT if you convert AMS example
documents with tex2lyx. No GUI support is needed, since \notag is equivalent
to \nonumber.
This is a follow-up of bug #8967. The implementation is self-explaining, the
only part which needs a comment is lyx2lyx: Since a 100% correct solution is
not possible, it has been decided not to switch amsmath off in the forward
conversion if no other ams command than \smash[t] and \smash[b] is used, but
to consider it a bug that older versions do not load amsmath automatically for
these commands. In the backward direction it is easy to keep the document
compilable, so just do that.
It currently does not make a difference that it is before
Adobe Reader in configure.py because as Enrico points out
on Windows the default viewer configured in the OS is used.
Beamer documents do not have a "--Separator--" layout but a
"Separator" one. Also fix a thinko causing the deletion of
"\end_layout" tags in some cases.
The algorithm used for breaking a paragraph in LaTeX export is changed
for avoiding spurious blank lines causing too much vertical space.
This change is tied to the introduction of a new inset (with two
different specializations) helping in either outputing LaTeX paragraph
breaks or separating environments in LyX. Both of the above goals were
previously achieved by the ---Separator--- layout and can now be
accomplished by the new inset in a more natural way. As an example,
after leaving an environment by hitting the Return key for two times,
a third return automatically inserts a parbreak inset, which is
equivalent to the old separator layout, i.e., it also introduces a
blank line in the output. If this blank line is not wanted, the
parbreak separator can be changed to a plain separator by a right
click of the mouse. Of course, an environment can still be separated
by the following one by using the Alt+P+Return shortcut (or the
corresponding menu key), but now the plain separator inset is used
instead of the old separator layout, such that no blank line occurs in
the LaTeX output.
Old documents are converted such that the LaTeX output remains unchanged.
As a result of this conversion, the old separator layout is replaced by
the new parbreak inset, which may also appear in places where the old
algorithm was introducing blank lines while the new one is not.
Note that not all blank lines were actually affecting the LaTeX output,
because a blank line is simply ignored by the TeX engine when it occurs
in the so called "vertical mode" (e.g., after an alignment environment).
The old ---Separator--- layout is now gone and old layout files using it
are also automatically converted.
Round trip conversions between old and new format should leave a document
unchanged. This means that the new behavior about paragraph breaking is
not "carried back" to the old format. Indeed, this would need introducing
special LaTeX commands in ERT that would accumulate in roundtrip
conversions, horribly cluttering the document. So, when converting a
modified document to old formats, the LaTeX output may slightly differ in
vertical spacing if the document is processed by an old version of LyX.
In other words, forward compatibility is guaranteed, but not backwards.
lyx2lyx sets all new math packages to off when converting from old formats.
This is correct if any command which would cause an automatic package loading
exists in the document. However, it is wrong if no command exists: This leads
to problems if later a command is added (bug #9069), which is especially
annoying for templates.
The fix consists of two parts:
1) convert_use_package() considers now the used commands like
revert_use_package(), and uses them to decide whether to set the package to
auto or off.
2) convert_undertilde() and revert_undertilde() use a slightly adjusted copy of
convert_use_package() and revert_use_package(), so that the bug is also
fixed for undertilde. We cannot use the latter functions directly, because
of "\usepackage undertilde" vs. "\use_undertilde".
When doing the lyx2lyx round trip of the 2.0.8 user guide from format
413 -> 474 -> 413 you get an invalid document, because the math packages
mhchem and undertilde are incorrectly converted.
It turned out that the old reversion code did only work for particular
package oderings. The new one works for abitrary sorted packages.
When doing the lyx2lyx round trip of the 2.0.8 user guide from format
413 -> 474 -> 413 you do not get a zero diff. The most important problem is
caused by the conversion of the argument insets to the old syntax: This
conversion adds an additional empty line (harmless), and it destroys the
document structure if the first inset in e.g. a subsection is not an argument
inset, but e.g. an index or label inset.
The fix is quite easy: Ensure that the paragraph begin is set to the first
argument inset.
revert_justification() issues a warning if the \justification parameter does
not exist, and LyX itself always writes it unconditionally as well, so add it
also in lyx2lyx when converting old documents.
Currently this does not have any user visible effect, but it decouples the
default value of BufferParams::justification from the conversion of old
documents: Now it is possible to set the default to false in LyX, and old
documents will still be converted correctly.
Compilation was failing with TeX Live 2013 because of
the format of one of the references. This commit just
changes one of the references to a different one.
As discussed. achemso.layout contains both "Chart" and "Graph", therefore it
does not make sense to use "Graph" in the "Chart" / "Graph" / "Diagram" sense,
but in the mathematical sense like in "graph theory".
Therefore I added the context [[mathematicl]].
All translations are unchanged except the german one, which is now again
"Graph" as in 2.0.0 instead of "Schaubild".
This string was not picked up by the script to generate the layouttranslations file. After deleting the file and re-running the script, this string was picked up.
- this brings back all our template files (they are no example files, would have been a regression otherwise because LyX 2.0 offers them already in "new from template")
- the thesis files will stay in the examples folder for now until we have a real fiix for bug #8643
I only left out the following:
1) chinese translation - we have no GPL statement yet, if we don't get it the
big update would need to be removed unfortunately.
2) I kept the dutch translation for "Chart", although this is ambigous, since
nl.po does not contain a translation
3) I kept the danish translation for "Note", since da.po does not contain a
translation
The review file is updated as well to contain all translations without a
documented review.
The Japanese math manual was not compiling because of some
complications with foreign language switching. This would
have been fixed after the translation from English to Japanese
is done but I want to make sure the document is compilable
for 2.1.
Now lib/layouttranslations.review contains all translations which have been
changed since the 2.0.0 release except for the ones where the commit log
mentioned that they were reviewed.
The pgf package 3.0.0 update lead to an error being given with
this document. Loading the 'etex' package fixes the problem.
For more information, see:
https://sourceforge.net/p/pgf/bugs/296/
filehook.sty is required when you use non-TeX fonts and also the non-TeX math default font
In the same context LyX requires the font "latinmodern-math.otf", but we can currently not check for it, see my post to the list
I should have had a closer look much earlier, since the fix is simple and
safe, but at that time I did not notice. The problem was that an invalid
.lyx document was created when converting unicode characters with two
backslashes in their LaTeX definition from lib/unicodesymbols to pre-unicode
LyX format.
The frame decoration IconPalette contains already \overset etc. and \sideset has the same logic like \over- and \underset. Moreover we should keep the math panel clean and avoid the listing of many very special commands
We don't need to check for every exotic package and this one is also very large. Due to nowadays new speed limit of some CTAN servers, downloading the package takes ages and therefore a fresh installation on Windows often times out. The advantage of the automatic package installation on Windows is therefore a disadvantage in case of this package.
This makes the defaults of Inset::inheritFont() and Inset::resetFontEdit()
compatible. There is no user visible change except for the Chunk inset which
does not produce invalid LaTeX after editing operations anymore.
This is the safe version for 2.1.0, for later there are still open questions:
- All insets with ResetsFont true should be audited: Is this really needed,
or do they show similar editing problems as the Chunk inset?
- Does inheritFont() need to be customizable in the layout file as well?
- Is resetFontEdit() != !inheritFont() needed at all?
I did not use change tracking for the docs, since I updated all existing
translations.
As discussed in trac. Unformatted Text is removed, since it is too similar to
Plain text, adn nobody knows why it is needed in the standard menu. The lfun
is kept, so users can easily activate it in private ui files if needed.
Changelog:
UserGuide:
- sec. 3.3.4.4: "opt" renamed to "short title"; only one short title
- sec. A.4.23: short title only visible...
- sec. A.5.4: Forward Search, clarify section reference
- sec. B: description of searching in submenus
Customization Manual:
- sec. 3.1:
- changed View->View (Other Formats)->DVI to Document>View (Other Formats)->DVI
- In second and fourth paragraph changes 2 "View" menu to "Document"
changelog:
- sec. A.3.3: menu of outline has changed -> therefore correction in
- sec. 3.7 of Tutorial
- sec. 2.5: of UserGuide
- sec. 6.2.1: of UserGuide
- sec. A.3.4: name changed to "source pane" -> therefore correction in
- sec. 2.1 of Additional
- sec. 6.12.4: of UserGuide
- sec. A.3.5: name changed to "Messages Pane"
- sec. A.3.15 -> A.3.6: Toolbar menu shifted
- sec. A.3.6 -> A.6.4: view Document menu shifted -> therefore correction in
- sec. B.20 of UserGuide (not yet in Japanese)
- sec. C.7.2 of UserGuide (not yet in Japanese)
- sec. 2.1.1 of Tutorial (not yet in Japanese)
- sec. 2.1 of Additional (not yet in Japanese)
- sec. 7.3.3.4 of Additional (not yet in Japanese)
- sec. A.3.7 -> A.6.5: view other Document menu shifted
- sec. A.3.8 -> A.6.6: Update view menu shifted
- sec. A.3.9 -> A.6.7: Update view other menu shifted
- sec. A.3.10 -> A.6.8: view master menu shifted
- sec. A.3.11 -> A.6.9: Update master menu shifted
Fedora ships these chmod 644 and has never seen a problem. The advantage
to doing this is that it better controls what version of python we are
using to launch the script, and it will reveal if we're somehow somewhere
not controlling that properly.
This simple module allows users to use the algorithm2e package at all. Before, it was not possible with LyX, since this package conflicts with LyX's own algorithm support (see also #8728)
The JASATeX class is currently unmaintained. Also, this
commit moves the system font tests from inverted to ignored
(otherwise lualatex and xelatex run in infinite loops).
and fix wrong ones. This fixes the safe part of bug #8888. The symbols
provided by mdsymbol.sty have to wait, since mdsymbol.sty provides a huge
number of symbols, I don't have the time right now to process them all, and
a partial file format update does not make sense.
Export with XeTeX and LuaTeX (with either non-tex fonts or 8-bit
compatibility mode) does not work because the loading of inputenc with
utf8x is hardcoded in europecv.cls at this time.
This commit adds a note to es/europeCV.lyx explaining the problem and
inverts the XeTeX and LuaTeX tests.
See
http://comments.gmane.org/gmane.editors.lyx.devel/145896
Thanks to Günter Milde for the advice and to Ignacio García
for the translation of the note.
This is a manual lyx2lyx fix. Some of the problematic chunks
are not correctly converted with lyx2lyx so this commit manually
converts them to ERT.
For more details, see:
http://marc.info/?t=137702744100010&r=1&w=2
paper.cls formats the description label without bold, so LyX should do the
same on screen. Note that simply removing the Series line does not help,
because Description is already defined in some include.
This is a workaround. Without this patch, export to .tex (XeTeX)
contains a sequence such as
\begin{english}
\begin{description}
[omitted, but does not contain \end{description}]
\end{english}
Thanks to Jürgen for the workaround.
polyglossia is used by default and \make@lr is only defined
by babel. Modifying the preamble fixes XeTeX export and pdfTeX
continues to work.
See the following thread for more information:
http://www.mail-archive.com/lyx-devel@lists.lyx.org/msg181220.html
Thanks to Enrico for the patch.
If we call tex2lyx on a temporary file created from the clipboard, the
file is always in utf8 encoding, without any temporary changes, even if it
contains encoding changing LaTeX commands. Therefore, we must tell tex2lyx
to use a fixed utf8 encoding for the whole file, and this is done using the
new latexclipboard format. Previously, tex2lyx thought the encoding was
latin1.
As a side effect, the -e option is now also documented in the man page.
dvipdfmx emits a lot of warnings and Koji suggests ps2pdf.
Thanks to Koji for the advice.
Note that on Debian, I installed the following packages
to be able to compile with ps2pdf:
fonts-takao-mincho
fonts-ipafont-nonfree-jisx0208
fonts-ipaexfont-mincho
These workarounds are no longer necessary because of unicodesymbols
and further they break compilation with XeTeX as well as pdfTeX
with TeX input encoding set to ascii or utf8.
Thanks to Günter Milde for the fix.
The autogenerated icons are in most cases ugly, do not conform to the
style of the other icons, and do not respect relative dimensions and
positions. The math icons have a vertical dimension of 19 pixel, defining
a grid that has to be respected for obtaining correct alignment.
The only autogenerated icons that remain are those of the Misc (extra)
toolbar. I plan to also replace them in the near future.
Exporting this outdated document currently hangs on some systems.
Further, there is no natural link between AGU and DocBook
and this could be confusing to a user who is looking for
the AGU template.
This fixes several long "unusual contents found" warnings that
were being written from LyX's math parser and improves the
typesetting.
Thank you to Enrico for the fix. See here for his explanation:
http://www.mail-archive.com/lyx-devel@lists.lyx.org/msg180763.html
There are still two such warnings that might indeed be serious,
one each in fr/xypic.lyx and ja/xypic.lyx. I get an assertion
from cursor movement in those insets with instant preview enabled
(on both current trunk and branch).
Now when the cursor is in e.g. a Section layout, alt-<down>
will dispatch 'outline-down'. Before, it would dispatch a
'paragraph-down', which I think makes less sense.
Now all urls we use in our provided lyx-files
(doc, examples, templates)
use urls which really exist.
(If a url was meant merely as an example,
it was not touched, but added to file 'knownInvalidURLS'.)
The 'Chapter' layout does not exist in standard article class.
I demoted all section-type layouts. Thus, "Chapter" became "Section",
"Section" became "Subsection" and "Subsection" became "Subsubsection".
Without this, the template gives a BibTeX error because
there are two \bibstyle commands in the .aux.
This would have broken backwards compatibility but RJournal.layout
has not yet been in a LyX release. Further, the journal made a
significant change (moving to a single column instead of two)
so any submitter would need to update the .sty anyway.
This fixes an option conflict error when using
RJournal.sty v0.12 (the newest).
Previous versions of the .sty also provided 'url'
so they should still work with the layout.
Manuals, examples and templates that use (traditional) bibtex should have set the bibliography processor to bibtex. Else, these documents do not compile if a user has set the processor to 'biber' in the preferences
The macro is identical to \ldots in texted, but this way, tex2lyx can import both \ldots (as InsetSpecialChar) and \dots (as unicode glyph), while retaining the original distinction (which might get relevant with some special packages or via user redefinition of one of these macros).
This provides a working examples that can be viewed directly
and makes the templates compilable out-of-the box.
When moving the example, I removed what I interpreted to be
an errant apostrophe.
This document does not export to PDF. Further, if one tries
to export to PDF on some systems, the process hangs. This commit
thus changes the default output format to xhtml and explains in a
note at the top that LyX does not currently support exporting this
document to PDF.
Note also that this document seems to be outdated and so is a
candidate for attic.
Further, this document is a candidate for being renamed. Currently
users might be confused if they are looking for the canonical way
(no need for DocBook) to write an article for AGU journals. For
that, they should use AGUTeX.lyx.
The labels for the references are now in the format
"author(year)". Without this, the following error is given:
"Bibliography not compatible with author-year citations"
Thanks to Richard for the fix.
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).
The fix is basically mechanical, the additional code for fraction like insets
with three arguments was stolen from \unitfrac. As any math package,
stackrel.sty needs a buffer parameter to switch it off.
I also added the two stackrel flavours to the toolbar.
There were found with -dbg mathed ans entering a math inset.
I kept the AMS versions, except leadsto, which is only an approximation in AMS.
hbar was simply defined twice with identical definitions.
These are all generated by development/tools/generate_symbols_images.py, the
only manual adjustments were renamings due to case sensitive file systems on
windows.
The \frametitle command is less convenient to use than the \frame argument, but it provides more options (overlay/action and short title). We thus provide this additionally to the option, like beamer itself does.
This has a list-like structure (with \onslide item commands). The previous implementation was rather useless, since it required lots of ERT. Since the new implementation is so different, we use ERT for conersion/reversion.
The lyx2lyx routines are not yet perfect, though.
stmaryrd.sty sets these symbols up as variable size math delimiters (i.e.
they may be used with \left and \right). Now LyX knows about that and offers
them in the delimiter dialog as well as single symbols.
llltr is a copy-paste error, the correct name is llless.
astrosun needs the wasysym package (the automatism does not kick in because
the font is cmsy, not wasy).
The stmaryrd package adds support for lots of math symbols, using a font
designed to accompany the computer modern fonts. The changes in detail:
- Fix generate_symbols_list.py to work with stmaryrd.sty. It loooks like it
was automatically translated from a perl version and never used.
- Generate the new symbols in lib/symbols using generate_symbols_list.py and
add some manual adjustments
- Generate stmary10.ttf by a simple ttf export from stmary10.sfd with fontforge
- Add license info for stmary10.ttf
- Create a test file with all symbols from stmaryrd.sty. Actually it would be
nice to have this for the other fonts as well.
- The mechanics: lyx2lyx, tex2lyx, font machinery etc.
Without this, qt will enlarge some glyphs out of proportion (no, I don't
understand why it does this, and I found out by accident how to avoid it).
Still, the vertical alignment is only roughly correct (also for the untouched
glyphs). If somebody cares some fine adjustment would be nice.
Use a 1:1 unicode "encoding" as for all other math symbol fonts.
This is not correct for using the font outside of LyX, but in LyX we misuse
the first 255 code points for symbol fonts (see code points of existing fonts
in lib/symbols). These code points are identical with the postscript versions
of the fonts, so if qt was able to use postscript fonts, they could be used
instead of the truetype versions.
The character varcurlywedge is duplicated at position 254, since qt refuses to
display a font at the tab position (9).
In addition, get rid of the broken private directory which is not needed for
generating ttf.
- also fix in the generic conversion routine the cases
- that there are one or more optional arguments before the mandatory ones
- that the conversion does not start with the first argument of a command
- also support in the lyx2lyx argument conversion routine the case that "}{" appears in 2 consecutive ERTs
- also fix in lyx2lyx_tools.py the output of ERTs (it is important that we write the same amount of lines as if the ERT would have been inserted via LyX 2.0 or lyX 2.1)
Now that we have module support for literate programming, it is possible to do a noweb cleanup. This is basically a patch from Kayvan Sylvan:
- get rid of literate-xxx classes
- rename Scrap to Chunk, since this is the name noweb doc uses (Scrap is from nuweb)
- update lyx file format and add lyx2lyx support for gettting rid of literate-xxx classes
- update documentation
On the top of it, update tex2lyx to
- avoid creating files with literate-xxx class
- fix conflict between parsing << as a quote and parsing it as a Chunk
- create Chunk layouts instead of Scrap ones.
causing a failure when running outside the user tree. This was my
fault: when I refactored this routine, I failed to note that this
variable was now undefined.
- add a mandatory argument
- remove an optional argument that compiles, but would break the layout of the output completely (is also not documented nor explicitly defined)
- also add a safe guard for the lyx2lyx conversion routines
- now all personal info can be specified the LyX way, only the package loading and some special settings remain in the preamble
- achemso.layout: a whitespace fix