- 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
- remove styles that cannot be written into the main text, but have to be inserted in the preamble
- add some info according to its latest documentation
This reverts commit ecbed31e80.
This package does not make sense for us. It is just a portmanteau package that loads libertine-type1 and biolinum-type1. Using this package directly results in option clashes if libertine and biolinum are both selected.
Sorry for the noise.
please don't change the fileformat if not necessary (only necessary to describe new features in LyX 2.1). This helps me a lot keeping all language and release versions in sync and to update all
I'm afraid, but it's going to be. We skip all comment lines at
the start of the script, but what we want to convert here is in
those comment lines. My previous attempt to deal with this issue
produced an invalid file.
Unfortunately, this doesn't quite work the way one might like. It
is fine for manually converting one's own layouts to the new format,
but it doesn't work if you just start LyX, since the category info
is written at configuration time, not at run time, and chkconfig.ltx
does not run layout2layout.
Implement a more simple and elegant integration of the R package knitr. Now,
lyxknitr.R does not need to move or copy files at all.
This also fixes a bug: when /tmp was on a different file system (e.g.
encrypted home), lyxknitr.R failed to move files to /tmp because it relied on
R's 'file.rename' function, which in turn relied on the rename function in
<stdio.h>, which was failing with the EXDEV errno.
Patch from Yihui Xie.
If the WA is the last one showing a buffer, then the buffer may either be
closed or kept hidden, or the user is asked. The behaviour is controlled
by a new preference option.
For discussion, see http://comments.gmane.org/gmane.editors.lyx.devel/142638
With non-TeX fonts, you can select a 'Non-TeX Font Default' math font, which simply loads unicode-math without actually selecting a math font, this then uses the default math otf font, currently Latin Modern. Other fonts still need to be set manually in the preamble, via \setmathfont.
The implementation suppresses unneeded package requests from unicodesymbols, but the output still uses macros instead of full unicode (both is possible with unicode-math).
The whole thing is a proof of concept, and it needs to be tested. I have tested it with the math manual, which compiles and seems to display correctly if I remove some hardcoded package loadings. OTOH I have not much experience with math.
This addresses #7449 partly.
\IfFileExists does not search in texmf/fonts, so the \TestPackage test fails for font files. Add a new \TestFont check that adapts the font check from ltxcheck.tex.
This is needed for the minion2newtxmath test, since this package only consists of font files,
This addresses #6543 by adding an option to prevent fonts such as Palatino and Times to automatically adapt the math font (IOW it lets you load the text font only for a bunch of fonts where this is easily possible).
Furthermore it adds an interface to select a specific math font, which is defined in latexfonts. Currently, this is only euler (the only one I know), but if there are other math-only tex fonts, they can be added easily (but note that this changes the file format).
Non-TeX math fonts are not yet supported. Eventually, unicode-math support can use the existing UI, but this is not on my agenda.