blank lines may be inadvertently output. This is achieved by using two
special iomanip-like variables (breakln and safebreakln) in the lyx::
namespace. When they are inserted in the stream, a newline is output
only if not already at the beginning of a line. The difference between
breakln and safebreakln is that, if needed, the former outputs '\n'
and the latter "%\n".
In future, the new class will also be used for counting the number of
newlines issued. Even if the infractrure for doing that is already in
place, the counting is essentially still done the old way.
There are still places in the code where the functionality of the
class could be used, most probably. ATM, it is used for InsetTabular,
InsetListings, InsetFloat, and InsetText.
The Comment and GreyedOut insets required a special treatment and a
new InsetLayout parameter (Display) has been introduced. The default
for Display is "true", meaning that the corresponding latex
environment is of "display" type, i.e., it stands on its own, whereas
"false" means that the contents appear inline with the text. The
latter is the case for both Comment and GreyedOut insets.
Mostly, the only visible effects on latex exports should be the
disappearing of some redundant % chars and the appearing/disappearing
of null {} latex groups after a comment or lyxgreyedout environments
(they are related to the presence or absence of a space immediately
after those environments), as well as the fact that math environments
are now started on their own lines.
As a last thing, only the latex code between \begin{document} and
\end{document} goes through the new class, the preamble being directly
output through odocstream, as usual.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@37360 a592a061-630c-0410-9148-cb99ea01b6c8
not break in PDF table of contents (using texorpdfstring).
Uwe, this should allow you to remove some ERT from the documentation.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@37164 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 module can be used instead of \usepackage{fixltx2e} in the preamble
to avoid duplicate definitions of \textsubscript.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@36550 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
actually, does prettyref, but we should do something here.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@36212 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
- new buffer parameter \boxbgcolor
(I'm still working on the remaining issue #6626 as this affect not only this feature.)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@34083 a592a061-630c-0410-9148-cb99ea01b6c8
- new buffer parameter \fontcolor
- the default color is internally black because we have to set a color
- the font color is only used when the user explicitly specified a color
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@34042 a592a061-630c-0410-9148-cb99ea01b6c8
- support to change the greyed-out note font color (fixes#3865)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@33962 a592a061-630c-0410-9148-cb99ea01b6c8
list revealed that the former is confusing to people. The latter
indicates more clearly what the tag does.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@33626 a592a061-630c-0410-9148-cb99ea01b6c8
- fileformat change (lyx2lyx code follows the next days)
- the patch is a joint work of Edwin and me
The patch is huge but the major parts work already. I put it in now as the minor known issues can be solved step by step the next days. I think this is the best solution because collaborating with such large patches already lead to copy/paste bugs.
The known issues are listed here:
http://wiki.lyx.org/Devel/Multirow
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@33414 a592a061-630c-0410-9148-cb99ea01b6c8
The problem here is that the metafont sources and tfm files are missing
in normal installations, because the Times Roman Greek fonts are not free
and should be purchased. When the grtimes package is not installed, the
fonts are substitued with cmr glyphs. However, if grtimes is installed
and and the actual fonts are missing, an error is generated. So, we simply
check whether the greek fonts are installed and, if they are not, we
perform the font substitution by ourselves. In this way the error is
avoided whether grtimes is installed or not.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@33178 a592a061-630c-0410-9148-cb99ea01b6c8
The problem here is that the metafont sources and tfm files are missing
in normal installations, because the Times Roman Greek fonts are not free
and should be purchased. When the grtimes package is not installed, the
fonts are substitued with cmr glyphs. However, if grtimes is installed
and and the actual fonts are missing, an error is generated. So, we simply
check whether the greek fonts are installed and, if they are not, we
perform the font substitution by ourselves. In this way the error is
avoided whether grtimes is installed or not.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@33169 a592a061-630c-0410-9148-cb99ea01b6c8
borrow the LatexFeatures::addPremableSnippet() method to do it.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@32301 a592a061-630c-0410-9148-cb99ea01b6c8
The fileformat change is also needed because of our mistake that we load mhchem since LyX 1.6.4 automatically so that files created with LyX 1.6.4 won't compile under LyX 1.6.3. Now at least all files created or opened with LyX 1.7 can be reverted to the fileformat of LyX 1.6.x and can therefore be read by all LyX 1.6.x versions.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@31941 a592a061-630c-0410-9148-cb99ea01b6c8
- do not eat space at the beginning of \lyxadded macro (bug 6282).
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@31692 a592a061-630c-0410-9148-cb99ea01b6c8
6047: Lyx 1.6.3 unable to typeset the third chemical equation of the
file mhchem.lyx (package mhchem)
4043: mhchem support
5394: support for the mhchems's \ce command
The \ce and \cf insets are text mode environments that allow entering
spaces and mathmode commands. LyX leaves them alone and doesn't try to
be smart, i.e., the behaviour is exactly the same we had in the old days
with text-in-math mode environments, before the introduction of the
\ensuremath and \lyxmathsym macros. This means that in those environments
one has to know what he is doing, as LyX will not offer any protection.
The hack of enclosing \ce and \cf in a \text{} environment in order to
be able to enter spaces is no longer necessary.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@30338 a592a061-630c-0410-9148-cb99ea01b6c8
- add support for \ddddot
- add partial support for inverse diagonal dots (i. e. they are recognized and
displayed correctly, but the needed package is not loaded, because it would
need an off/auto/on setting as amsmath, and that calls for a general solution)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@30162 a592a061-630c-0410-9148-cb99ea01b6c8
bring it into line with the handing of Layout's preamble and requires. This
will make information about used InsetLayout's avaiable elsewhere.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@29914 a592a061-630c-0410-9148-cb99ea01b6c8
only sweave is supported (for building documentation, not programs).
Layout files allow a new OutputFormat tag
Modules can be conditionned on a feature of the type from->to, indicating that
it should be possible to convert from format 'from' to format 'to'.
Layout format incremented to 15.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@29874 a592a061-630c-0410-9148-cb99ea01b6c8
Essentially, it is not true that Cyrillic characters in math are to be typeset
in italic by default, and LyX already permits to style them as desired.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@28981 a592a061-630c-0410-9148-cb99ea01b6c8
Cyrillic formatted text in mathmode
If some other letters from some script need to be typeset in italic,
it will suffice adding the flag "mathalpha" to the unicodesymbols file.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@28731 a592a061-630c-0410-9148-cb99ea01b6c8
Don't go into an endless loop if layout2layout cannot produce the desired file format.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@28529 a592a061-630c-0410-9148-cb99ea01b6c8
Later, this can be replaces by a backpointer approach, as proposed at bugzilla (note that there are already similar cases such as InComment or InTableCell, so a backpointer approach would need to adapt the OutputParams methos anyway).
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@28382 a592a061-630c-0410-9148-cb99ea01b6c8
Implement infrastructure to add translations to layout files and translate one .inc file.
Some others are missing.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@28356 a592a061-630c-0410-9148-cb99ea01b6c8
* InsetSpecialChar.cpp:
- make the menu separator direction-aware [only in LaTeX output] (bug 3560).
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@28085 a592a061-630c-0410-9148-cb99ea01b6c8
for entering math accents, such that an umlauted A is translated as \ddot{A},
for example.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@26577 a592a061-630c-0410-9148-cb99ea01b6c8
- handle case where natbib is loaded internally by a class, but still plain cite commands
have to be output (bug 5182)
* lib/revtex4.layout:
- this is such a case.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@26298 a592a061-630c-0410-9148-cb99ea01b6c8
Sorry, Andre, but this broke not only the modules stuff but the general handling of TextClasses. I'm not opposed to doing this sort of thing, but it's going to be a little more complicated. I'll do it when I get a bit of time, or I can explain what the issue is here if you want to do it.
I'll separately re-commit some of the cleanup here.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@23189 a592a061-630c-0410-9148-cb99ea01b6c8
Also a few cosmetical changes where I xould not resist.
Would be nice if the 'modules people' could verify that their baby
is strill alive...
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@23154 a592a061-630c-0410-9148-cb99ea01b6c8
- add tipx to simplefeatures. Tipx is a subpackage of tipa.
* lib/unicodesymbols:
- correct some glyphs, which are included in tipx, not tipa.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22771 a592a061-630c-0410-9148-cb99ea01b6c8
* LaTeXFeatures.cpp (getPackages): remove some specific spacing code;
move listings support to simplefeatures array.
* src/Spacing.cpp (writeEnvirBegin, writeEnvirEnd): code factorization
(writePreamble): new method containing former code from LaTeXFeatures;
use \setSpacing instead of \setSingleSpacing.
* src/BufferParams.cpp (validate, writeLaTeX): handle spacing here.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22644 a592a061-630c-0410-9148-cb99ea01b6c8
* src/BufferParams.cpp:
- always require hyperref if it's used.
- only call PDFOptions::writeLaTeX if hyperref is required
(and not provided by textclass).
* src/PDFOptions.{cpp,h}:
- (writeLaTeX): remove unneeded hyper_required argument
* src/LaTeXFeatures.cpp:
- special definition for pdflatex ct markup when hyperref is used
(fix bug 4504).
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22629 a592a061-630c-0410-9148-cb99ea01b6c8
directing to use memoir's capitalized latex macros.
* src/LaTeXFeatures.cpp (getPackages): act on feature "SetSpace".
* src/output_latex.cpp (TeXOnePar): ditto
* lib/layouts/memoir.layout: provide feature SetSpace, indicating that
memoir provides the setspace functionality, but with a different syntax.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22551 a592a061-630c-0410-9148-cb99ea01b6c8
- load xcolor.sty the same way than color.sty, and only load one of them
(xcolor, if requested, else color).
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22548 a592a061-630c-0410-9148-cb99ea01b6c8
- the package "pdfcolmk" must be loaded after [x]color.sty
(see package documentation).
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22537 a592a061-630c-0410-9148-cb99ea01b6c8
The package ifthen needs to be added to LaTeXConfig.lyx. I'll do this when that file can be opened again.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22419 a592a061-630c-0410-9148-cb99ea01b6c8
* src/TextClass{cpp,h}:
- implement Requires tag for class and InsetLayout.
* src/Layout.{cpp,h}:
- implement Requires tag for layouts.
- increase layouts format to 6.
* src/Paragraph.cpp:
- request required features for paragraph layouts.
* src/LaTeXFeatures.cpp:
- add some packages needed by modules.
- remove Preamble method for InsetLayout. This is now done
in InsetFlex::validate.
* src/BufferParams.cpp (validate):
- request required features for the class.
* src/insets/InsetLayout.h:
- new member "requires".
* src/insets/InsetFlex.{cpp,h}:
- implement validate method and request required features and preamble snippets.
* lib/layouts/*.{layout,module,inc}:
- increase layouts format to 6.
- use Requires tags in some modules (more can be done later).
* lib/doc/Customization.lyx:
- document Requires tag.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22414 a592a061-630c-0410-9148-cb99ea01b6c8
- memoir.cls provides framed.sty.
* src/LaTeXFeatures.cpp:
- also output the shadecolor definition if framed.sty
is provided by a class.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@21947 a592a061-630c-0410-9148-cb99ea01b6c8
Now support/* should have no dependencies on src/* anymore.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@21851 a592a061-630c-0410-9148-cb99ea01b6c8
- rename the lfun to href-insert.png
- rename the files to Hyperlink...
- the former URLUi produces now \href commands (hyperref)
Only missing thing is the lyx2lyx conversion routine - this will be done by Richard
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@20950 a592a061-630c-0410-9148-cb99ea01b6c8
necessary to mark them in the proper language for typesetting.
* src/Paragraph.cpp
(Paragraph::Pimpl::knownLangChars): new method.
(Paragraph::Pimpl::simpleTeXSpecialChars): output proper
latex code for greek and cyrillic chars.
* src/LaTeXFeatures.cpp: add textgreek and textcyr features.
* src/Encoding.{cpp,h}
(Encodings::isKnownLangChar): new method.
* lib/unicodesymbols: add greek and cyrillic alphabetic chars.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@20931 a592a061-630c-0410-9148-cb99ea01b6c8
(maily move layout related enums into a header of there own to remov
include dependencies, alos rename a few things)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@20598 a592a061-630c-0410-9148-cb99ea01b6c8
- Format incremented to 284
- LaTeX-package wrapfig is now used instead of flotflt for wrap floats (this allows us to implement now also a table wrap float)
(the optional overhang argument of wrapfig will be implemented later)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@20185 a592a061-630c-0410-9148-cb99ea01b6c8
* Layout.h:
- name_, obsoleted_by_, depends_on_ are now docstrings.
All other changes results from the above string -> docstring changes. In particular, we now try to translate the layout names only if possible (i.e. if they are ASCII only).
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19042 a592a061-630c-0410-9148-cb99ea01b6c8
- we don't require wasysym any more. Either esint or amsmath is used, depending if esint is installed
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18857 a592a061-630c-0410-9148-cb99ea01b6c8
- remove incorrect sign for information
- add some character supported by the ascii-package
- added some letterlike symbols
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18585 a592a061-630c-0410-9148-cb99ea01b6c8
- add dingbats
- add geometrical shapes
- add the missing card suit symbols
- use Herbert's solution for the "℅" character
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18544 a592a061-630c-0410-9148-cb99ea01b6c8
- when exporting with pdflatex
- when exporting with latex and dvipost is not available
rename two colors (strikeout => deletedtext, newtext => addedtext)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18284 a592a061-630c-0410-9148-cb99ea01b6c8
introduce 'semantic' TeX commands \lyxinserted and \lyxdeleted in order to decouple change tracking
output from dvipost. Raise user warning if dvipost is not installed (i.e. no changes are shown in TeX output)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18237 a592a061-630c-0410-9148-cb99ea01b6c8
Introduces new encodings for the CJK-languages.
The CJK-languages can now be selected from LyX's menu.
For remaining small problems, see the thread "Help needed for bug 3043" on the devel-list.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18216 a592a061-630c-0410-9148-cb99ea01b6c8
This is a part of the fix for bug 3043.
I got the OK from Georg, that this patch doesn't introduce conflicts as it only sets the infrastructure.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18206 a592a061-630c-0410-9148-cb99ea01b6c8