Commit Graph

143 Commits

Author SHA1 Message Date
Enrico Forestieri
d866717ef7 Integrate texrow with otexstream in order to perform automatic line
counting when exporting to latex. This is done for the code comprised
between \begin{document} and \end{document}, while the preamble code
still needs manual calls to TexRow::newline() for registering new lines.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@37584 a592a061-630c-0410-9148-cb99ea01b6c8
2011-02-10 20:02:48 +00:00
Enrico Forestieri
1ef605f625 Introduce a wrapper class for odocstream to help ensuring that no
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
2011-01-29 02:41:13 +00:00
Jean-Marc Lasgouttes
3b316bc83f better fix to #7239. Actually the whole switch and kaboodle (see r37229) is needed (otherwise sweave is broken)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@37322 a592a061-630c-0410-9148-cb99ea01b6c8
2011-01-25 11:22:47 +00:00
Richard Heck
4f4a8203b3 Fix bug #7239, or at least try to do so. We need to output the command
here.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@37229 a592a061-630c-0410-9148-cb99ea01b6c8
2011-01-16 19:14:14 +00:00
Vincent van Ravesteijn
8c61911270 Revert r37092. The fix was wrong.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@37127 a592a061-630c-0410-9148-cb99ea01b6c8
2011-01-06 13:41:50 +00:00
Vincent van Ravesteijn
a7c135b9e1 Fix bug #7096: Wrong LaTeX export for layouts with intitle=true in branches.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@37092 a592a061-630c-0410-9148-cb99ea01b6c8
2011-01-03 21:23:38 +00:00
Richard Heck
e328ed52c2 Squash warnings. The latter might matter.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@36953 a592a061-630c-0410-9148-cb99ea01b6c8
2010-12-20 00:57:16 +00:00
Abdelrazak Younes
2ab1601311 Coding style/de-indent
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@36939 a592a061-630c-0410-9148-cb99ea01b6c8
2010-12-18 16:32:29 +00:00
Abdelrazak Younes
41aa051d22 Coding style.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@36938 a592a061-630c-0410-9148-cb99ea01b6c8
2010-12-18 16:19:05 +00:00
Abdelrazak Younes
3626b46109 Coding style.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@36937 a592a061-630c-0410-9148-cb99ea01b6c8
2010-12-18 16:11:38 +00:00
Abdelrazak Younes
1614a64e15 TeXOnePar() simplification: use pit_type instead of iterator
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@36936 a592a061-630c-0410-9148-cb99ea01b6c8
2010-12-18 15:57:27 +00:00
Abdelrazak Younes
fd73107054 TeXOnePar() Be on the safe side and reinitialize runparam.par_begin and par_end
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@36935 a592a061-630c-0410-9148-cb99ea01b6c8
2010-12-18 14:04:02 +00:00
Abdelrazak Younes
8e092e6ca6 greatly simplify and comment TeXEnvironment():
* only one for loop
* uses runparams.par_end

InsetInclude and InsetIext: initialize runparams.par_begin and runparams.par_end

Except for a few additonal empty lines the LateX exports are identical for all help files. The reason for the additional empty lines is the more consistent TeXEnvironment() call.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@36934 a592a061-630c-0410-9148-cb99ea01b6c8
2010-12-18 13:49:39 +00:00
Abdelrazak Younes
ffea94c5e6 latexParagraphs(): code polish.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@36933 a592a061-630c-0410-9148-cb99ea01b6c8
2010-12-18 08:31:34 +00:00
Abdelrazak Younes
f48f0ad0bf latexParagraphs(): cleanup a bit and switch to a 'for' loop. Hopefully this should fix the performance problem when exporting very big document to latex.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@36932 a592a061-630c-0410-9148-cb99ea01b6c8
2010-12-18 08:23:14 +00:00
Abdelrazak Younes
ca91d508b2 LaTeX export small speedup: Introduce RandomAccessList::position() and use it.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@36931 a592a061-630c-0410-9148-cb99ea01b6c8
2010-12-18 07:37:12 +00:00
Abdelrazak Younes
b730b1c8f8 Cleanup: TeXEnvironment doesn't need data.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@36897 a592a061-630c-0410-9148-cb99ea01b6c8
2010-12-15 23:46:02 +00:00
Abdelrazak Younes
67e782190a Split TeXEnvironment() in three functions. The real optimisation is yet to come.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@36896 a592a061-630c-0410-9148-cb99ea01b6c8
2010-12-15 23:39:38 +00:00
Abdelrazak Younes
1ff5754a1b get rid of TeXDeeper: this was hiding the recursiveness of TeXEnvironment without any real benefits. This will allow further simplification of the code.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@36895 a592a061-630c-0410-9148-cb99ea01b6c8
2010-12-15 21:48:00 +00:00
Abdelrazak Younes
811335b50c a microptimisation and a FIXME.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@36894 a592a061-630c-0410-9148-cb99ea01b6c8
2010-12-15 21:11:12 +00:00
Abdelrazak Younes
fbcbeb5130 latex export optimisation step 1: There is no need for TeXOnePar to return a par iterator and to depend on that.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@36893 a592a061-630c-0410-9148-cb99ea01b6c8
2010-12-15 20:51:25 +00:00
Jürgen Spitzmüller
1e8bd43a70 * output_latex.cpp: fix language nesting (with polyglossia).
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@36775 a592a061-630c-0410-9148-cb99ea01b6c8
2010-12-08 18:25:21 +00:00
Richard Heck
fc3b06eac8 Rename a bunch of BufferParams to conform to our usual style.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@36524 a592a061-630c-0410-9148-cb99ea01b6c8
2010-11-26 18:32:29 +00:00
Jürgen Spitzmüller
fc9c1494ce further xetex disambiguation: use the flavor where the flavor is apt.
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
2010-11-23 12:23:36 +00:00
Jürgen Spitzmüller
7cbeed2e40 * Introduce polyglossia support (bug 6576).
Please test this.

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@36433 a592a061-630c-0410-9148-cb99ea01b6c8
2010-11-22 12:10:16 +00:00
Jean-Marc Lasgouttes
b9b619641b This patch implements proper ERT behaviour for normal layouts.
In particular, it makes paragraph breaks generate single \n in latex output
when ParbreakIsNewline is true

This means that it is not necessary anymore to use newlines to break lines. 
Plain paragraph breaks can be used instead, like is done now in ERT/Listings. 
This is mainly aimed at sweave support.

lyx2lyx support courtesy of Richard Heck



git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@36163 a592a061-630c-0410-9148-cb99ea01b6c8
2010-11-06 15:06:19 +00:00
Vincent van Ravesteijn
222b3580d2 More include frenzy.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@35940 a592a061-630c-0410-9148-cb99ea01b6c8
2010-10-31 01:04:03 +00:00
Jean-Marc Lasgouttes
fde0a4bb26 spacing
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@35093 a592a061-630c-0410-9148-cb99ea01b6c8
2010-08-08 14:48:15 +00:00
Jean-Marc Lasgouttes
1a18cdfb39 Clean-up the code with respect to PassThru insets and layouts.
The goal is first to remove explicit testing against ERT_CODE, 
and second to allow to define layouts with the same properties as ERT insets.

This commit does not change behaviour 
* rename OutputParams::verbatim to pass_thru
* disable encoding switch inside pass_thru layouts



git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@35091 a592a061-630c-0410-9148-cb99ea01b6c8
2010-08-07 22:07:49 +00:00
Richard Heck
84a4ec80ab Paragraph::latex() always returned false. So remove the return value.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@34676 a592a061-630c-0410-9148-cb99ea01b6c8
2010-06-15 15:49:24 +00:00
Richard Heck
c952f9a7be Fix InPreamble. I must have committed an incomplete patch.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@34675 a592a061-630c-0410-9148-cb99ea01b6c8
2010-06-15 15:37:39 +00:00
Richard Heck
8480d1dd9a Rename InsetOptArg as InsetArgument.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@34596 a592a061-630c-0410-9148-cb99ea01b6c8
2010-06-04 22:44:58 +00:00
Richard Heck
b0097bcddb Introduce a new "RequiredArgs" tag for layouts. This functions much as
the OptionalArgs tag does and is implemented by the now misnamed
InsetOptArgs, except that its content gets wrapped in "{}" rather than
"[]". Required arguments do not actually have to be provided, but they
are always output. 

This will allow e.g. beamer's Block environment to be implemented
without ERT.

Documentation to follow.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@34591 a592a061-630c-0410-9148-cb99ea01b6c8
2010-06-04 21:50:08 +00:00
Enrico Forestieri
f84a611775 Fix #6618: RTL (sub)*section after LTR text doesn't compile.
When deciding whether to switch encoding or not, the "fragileness" of
the enclosing environment (rather than that of the actual one) should
be taken into account, as we already account for the current "fragility"
by outputting the encoding switch just before switching environment.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@33882 a592a061-630c-0410-9148-cb99ea01b6c8
2010-03-27 17:29:56 +00:00
Jürgen Spitzmüller
ce349ad806 Fix encoding issues in bibitems (bug #6534)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@33452 a592a061-630c-0410-9148-cb99ea01b6c8
2010-02-12 16:08:30 +00:00
Enrico Forestieri
e4cff09722 Fix bug #6510: URL in the footnote will cause the `CJK' environment to terminate
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@33382 a592a061-630c-0410-9148-cb99ea01b6c8
2010-02-09 14:01:21 +00:00
Jürgen Spitzmüller
425d092204 * fix spelling in comments to please John.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@33262 a592a061-630c-0410-9148-cb99ea01b6c8
2010-01-29 14:44:21 +00:00
Vincent van Ravesteijn
c22298c97b Fix bug #6387: Incorrect selectlanguage command at end of document.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@32792 a592a061-630c-0410-9148-cb99ea01b6c8
2010-01-06 17:36:22 +00:00
Enrico Forestieri
128e349191 Restore the master language at the end of an included child document
instead of the child document language.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@31665 a592a061-630c-0410-9148-cb99ea01b6c8
2009-10-18 21:48:13 +00:00
Enrico Forestieri
2245f82f96 Properly reset the stream encoding after an environment. Fixes bug #6216.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@31392 a592a061-630c-0410-9148-cb99ea01b6c8
2009-09-16 20:50:40 +00:00
Abdelrazak Younes
8c053ea10c Move depthHook(), outerHook(), isFirstInSequence(), outerFont() to Text methods.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@30957 a592a061-630c-0410-9148-cb99ea01b6c8
2009-08-09 18:35:39 +00:00
Abdelrazak Younes
2b9e44cb01 Move contents of paragraph_funcs.* to Text.h and Text.cpp.
The goal is to simplify the code afterwards.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@30955 a592a061-630c-0410-9148-cb99ea01b6c8
2009-08-09 17:30:41 +00:00
Abdelrazak Younes
730a67e0d1 Text::Inset(): now returns a reference in order to make clear that the owner is mandatory.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@30947 a592a061-630c-0410-9148-cb99ea01b6c8
2009-08-09 16:19:43 +00:00
Abdelrazak Younes
1919580310 Get rid of Paragraph::forcePlainLayout().
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@30942 a592a061-630c-0410-9148-cb99ea01b6c8
2009-08-09 15:38:55 +00:00
Abdelrazak Younes
5425c53fd1 Now that Text knows its owner, use the associated Buffer access.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@30941 a592a061-630c-0410-9148-cb99ea01b6c8
2009-08-09 15:29:34 +00:00
Enrico Forestieri
898c621b84 Properly restore the file encoding after a LaTeX environment with local scope.
Fixes bug #5690: Hebrew file cannot be exported to dvi or pdf.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@30848 a592a061-630c-0410-9148-cb99ea01b6c8
2009-08-03 18:31:20 +00:00
Enrico Forestieri
3e9489d870 Avoid deferencing a null pointer.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@30805 a592a061-630c-0410-9148-cb99ea01b6c8
2009-07-30 03:21:04 +00:00
Enrico Forestieri
56ba7b60b1 Simpler fix for bug #5096: Language switch fails in environments.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@30803 a592a061-630c-0410-9148-cb99ea01b6c8
2009-07-30 00:58:37 +00:00
Enrico Forestieri
a2b706037b Revert r30800, r30768, r30767, 30766, and r30627. Soon to be replaced
with a simpler (and thus better) fix.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@30802 a592a061-630c-0410-9148-cb99ea01b6c8
2009-07-30 00:37:53 +00:00
Enrico Forestieri
e96dbacfee Refine fix for bug #5096: Language switch fails in environments.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@30800 a592a061-630c-0410-9148-cb99ea01b6c8
2009-07-28 16:15:34 +00:00