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.
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.
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.
The LaTeX font information are now centralized and outsourced. This removes a lot of hardcoding and duplication and makes it easier to support new LaTeX fonts.
* Assure that really no language package is called when none is selected.
* Only call global custom package if global is desired.
This is a candidate for branch as well.
objects. The problem that led to the leak is that these objects can be held in
memory long after the Buffer that created them is gone, mostly due to their
use in the CutStack. So they were previously held in a storage facility, the
DocumentClassBundle. Unfortunately, they were now being created too often,
especially by cloning. It's not really a leak, because they're accessible, but
we weren't ever destroying them.
This new approach uses a shared_ptr instead.
Thanks to Vincent for pointing out const_pointer_cast.
While cppcheck did not turn out any suspicious error messages, using
the "performance" flag highlighted several nitpicks in three categories
* do not use it++ for iterators, ++it is better
* do not use size() to test for emptyness, empty() is here
* do not use "const T" as a function parameter, "const & T" is better
I doubt that any of these is a real performance problem, but the code is cleaner anyway.
Add a new layout syntax CiteEngine to define the citation commands
available for a given citation engine.
Also extend the CiteFormat syntax to allow more customization. This
mechanism, previously used to produce bibliography entries in the
citation GUI based on the BibTeX entrytype, is now also used to
produce the textual labels for citation insets in the buffer view.
Thus citation styles are almost completely customizable by modules.
Modules for the basic, jurabib and natbib engines are implemented.
Layout format incremented to 37.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@40820 a592a061-630c-0410-9148-cb99ea01b6c8
To avoid duplicity, remove natbib_authoryear and natbib_numerical
and replace them by natbib, and keep track of the engine `type'
in the new \cite_engine_type document setting. This will make it
easier to add more citation engines.
LyX format incremented to 424.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@40592 a592a061-630c-0410-9148-cb99ea01b6c8
Internal machinery, no file format change and no UI change yet
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@40562 a592a061-630c-0410-9148-cb99ea01b6c8
This holds the name of a BibTeX style file for now. Any BibTeX inset
can set the style to "default" to use the document-wide style.
LyX format incremented to 420.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@40484 a592a061-630c-0410-9148-cb99ea01b6c8
now) and move more packages to the new exclude mechanism.
The remaining ones are not so easy.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@40442 a592a061-630c-0410-9148-cb99ea01b6c8
tells LyX not to show BLOCK text as justified, but still keeps
the usual paragraph indentation.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@40427 a592a061-630c-0410-9148-cb99ea01b6c8
under Document>Settings>Output.
It turns out that we always want this list to be sorted when we get it,
so we can sort it in BufferParams rather than in three different places.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@40101 a592a061-630c-0410-9148-cb99ea01b6c8
- This preference was used for specifying the papersize to xdvi, dvipdfm,
dvips. However, I can't seem to see any effect on the result.
- The papersize should instead be defined in the document settings.
- The global papersize default was misused to also change the tex
output by specifying the papersize as if it was specified in the
document settings. This caused the same lyx document to be outputted
differently on different pcs.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@40028 a592a061-630c-0410-9148-cb99ea01b6c8
Now you can also require a|b|c, and if any of the features is already used,
no other one will be loaded. The first feature wins if none is already used.
This is required for a part of bug #7811.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@39884 a592a061-630c-0410-9148-cb99ea01b6c8
a number of unforeseen issues (like the inheritance of the default master, as
pointed out in http://www.mail-archive.com/lyx-devel@lists.lyx.org/msg168225.html),
now we simply set the language into the search & replace buffers.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@38647 a592a061-630c-0410-9148-cb99ea01b6c8
layout to the current format.
This probably isn't needed for branch, since local layout was a
"hidden feature" prior to 2.0, and one can update local layout by:
(a) copying to a file
(b) running layout2layout on that file
(c) pasting back into LyX
So we should probably just leave this in trunk.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@38622 a592a061-630c-0410-9148-cb99ea01b6c8
- go back to Maping=tex-text for XeTeX and use Ligatures=TeX only for LuaTeX.
This gets users of older distributions (such as TeXLive 2009) back into the XeTeX game.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@37402 a592a061-630c-0410-9148-cb99ea01b6c8
- replace the fontspec option "mapping=text-tex" with "Ligatures=TeX" as recommended in the fontspec manual.
The two options are equivalent, but only the latter is recognized by LuaTeX.
- do not use TeX ligatures with typewriter fonts (this is the same in standard LaTeX).
- add a bit of documentation.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@36836 a592a061-630c-0410-9148-cb99ea01b6c8
We might want to rename the babelpreamble tokens to something more general.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@36773 a592a061-630c-0410-9148-cb99ea01b6c8
This introduces an isFullUnicode() function to OutputParams that currently only contains XETEX, but later can also contain other fully unicode-aware backends (LUATEX for instance).
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@36445 a592a061-630c-0410-9148-cb99ea01b6c8
- rename \language_package to \language_custom_package
- the bool \language_use_babel is replaced by a more fine-grained selection:
* chose language package automatically (later: babel or polyglossia)
* always use babel (also with XeTeX)
* custom (i.e. use \language_custom_package)
* none (equivalent to former \language_use_babel false)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@36407 a592a061-630c-0410-9148-cb99ea01b6c8
This allows us to remove some ugly hardcoding of languages in the source.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@36292 a592a061-630c-0410-9148-cb99ea01b6c8
recognize the argument, but that leads to an infinite loop.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@36012 a592a061-630c-0410-9148-cb99ea01b6c8
for formatted references. Fixes#2295, in so far as it makes it possible
to translate formatted references.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@35623 a592a061-630c-0410-9148-cb99ea01b6c8
technically this package is the same as esint, only for dots instead of integrals -> therefore we can and should handle it the same as esint
-> add "use automatically" checkbox
-> load mathdots if \iddots is inserted
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@35251 a592a061-630c-0410-9148-cb99ea01b6c8