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