parser discards all needed packages like calc.sty or framed.sty, so the
resulting document would be uncompilable with those boxes as ERT.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@37287 a592a061-630c-0410-9148-cb99ea01b6c8
accumulate for each round trip, since LyX writes \protect if needed)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@37214 a592a061-630c-0410-9148-cb99ea01b6c8
- Add missing babel synonyms (taken from a standard TeXLive 2010 install).
Some synonyms might still be missing (if they are defined not by babel
itself, but additional packages). Adding these is now simple: Only
known_languages and known_coded_languages need to be touched.
- Translate babel language name arguments of \foreignlanguage and
\selectlanguage to LyX names.
- Translate second argument of \foreignlanguage to LyX.
- Cleanup mixed language names in the preamble parser: Now all checks are
done with LyX names, not a mix of babel and LyX names. This sets correct
quotes even if the language as given as an alias.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@37188 a592a061-630c-0410-9148-cb99ea01b6c8
lib/doc/Math.lyx, since tex2lyx swallows the LyX part of the preamble, and
thus \shortcut would not be defined.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@37149 a592a061-630c-0410-9148-cb99ea01b6c8
Fix missing \size reset after sectioning environments.
Fix invalid \lang default (use english instead, as in the preamble)
Convert hard coded layout output of caption insets to Context class.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@37147 a592a061-630c-0410-9148-cb99ea01b6c8
misinterpreting "\}" as "}" when it occured inside a pair of unescaped
braces, like in "\code{@\{*\}r||p\{1in\}@\{*\}}".
The reason for this bug is that Token::character() behaves differently in
tex2lyx than in mathed. See the comment in Parser.h for a more general fix.
For now I played on the safe side and only changed those places where I
definitely know that the old code was wrong.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@37117 a592a061-630c-0410-9148-cb99ea01b6c8
Improve heuristic for outputting \bibliographystyle: Now it is suppressed
if \bibliography follows immediately, since LyX adds it automatically in that
case.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@37066 a592a061-630c-0410-9148-cb99ea01b6c8
- Replace special verbatim commands by standard LaTeX, since it would be
extremely difficult to make tex2lyx understand them)
- Comment duplicated \bibliography{xampl}, since LaTeX cannot handle two
\bibliography calls
- Fix a regression with spaces after commands, introduced in r36943
- Parse \multicolumn with space/comments between two arguments correctly
- Parse optional arguments correctly if there are space or comments between
the command and the argument
- Remove duplicate "LyX" phrase handling (I overlooked that in r37052)
- Add new commands created with \let to the list of known commands. This is
needed to parse the arguments correctly
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@37064 a592a061-630c-0410-9148-cb99ea01b6c8
The automatic replacement in LyX is pretty broken (see bug 4752).
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@37055 a592a061-630c-0410-9148-cb99ea01b6c8
Please don't add new features to tex2lyx without testing.
In this case, the test case was even provided in test-insets.tex.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@37051 a592a061-630c-0410-9148-cb99ea01b6c8
The reasons for doing this in tex2lyx instead of an external script are:
- Correct choice of latex/pdflatex export
- Using the correct LyX executable regardless of running inplace or from an
installation, or with or without version suffix
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@37049 a592a061-630c-0410-9148-cb99ea01b6c8
335: Create space inset in new syntax
336: Nothing to do (empty lyx2lyx conversion)
337: Nothing to do (tex2lyx does use the display flag)
338-339: Nothing to do (empty lyx2lyx conversion)
340: Nothing to do (tex2lyx does not output empty layout names)
341-342: Nothing to do (empty lyx2lyx conversion)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@37013 a592a061-630c-0410-9148-cb99ea01b6c8
324: Create newline inset in new syntax
325: Nothing to do (tex2lyx does not support the japanese language)
326-327: Nothing to do (empty lyx2lyx conversion)
328: Nothing to do (tex2lyx did never support embedding of files)
329-330: Nothing to do (empty lyx2lyx conversion)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@37011 a592a061-630c-0410-9148-cb99ea01b6c8
- support for \nocite (since format 309)
- add \nocite{*} option to testfile
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@36960 a592a061-630c-0410-9148-cb99ea01b6c8
320: Support protected hfill
Detect other horizontal spaces that are already part of format 319
Add forgotton use_parbox tag to boxes (confuses lyx2lyx, but no lyx)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@36949 a592a061-630c-0410-9148-cb99ea01b6c8
311: Nothing to do (tex2lyx produced already the new format, because it
uses the current layout files. This is also a reason why it should
not lag behind too much with the format.)
312: Nothing to do (empty lyx2lyx conversion)
313: Nothing to do (tex2lyx does not know about modules)
314-315: Nothing to do (empty lyx2lyx conversion)
316: Nothing to do (tex2lyx does not know subfigures)
317-318: Nothing to do (empty lyx2lyx conversion)
319: Convert horizontal spaces to new format (and convert some newly
supported spaces)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@36948 a592a061-630c-0410-9148-cb99ea01b6c8
299-302: Nothing to do (empty lyx2lyx conversion)
303: Nothing to do (tex2lyx did not use the serbocroation language)
304: Convert framed and greyed out notes to box insets
305-310: Nothing to do (empty lyx2lyx conversion)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@36947 a592a061-630c-0410-9148-cb99ea01b6c8
298: All math macros are exported with \\global to LaTeX now, so a \\global
in front of a math macro has to be recognized. Since the math macros do
no longer use the same syntax in .lyx and .tex (which is a mistake IMHO)
an exact match is no longer possible except for \global\long\def.
Bugfix this time: \\providecommand was errornously recognized as math macro
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@36946 a592a061-630c-0410-9148-cb99ea01b6c8
- Make test-insets.tex and test-structure.tex compilable
- Avoid duplicate definition of \lyxarrow in test-insets.lyx
- Prevent subscript package from being ignored in test-insets.lyx
- Prevent commands listed with optional arg in syntax.default from being
concatenated with the next word if no optional arg is given
- Handle spaces and comments inbetween a command an "{}" consistently
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@36943 a592a061-630c-0410-9148-cb99ea01b6c8
294: Nothing needed, but add some placeholders to the preamble for documentation
295: Convert URL command inset to Flex inset
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@36941 a592a061-630c-0410-9148-cb99ea01b6c8
289: Use new syntax for index inset
290-291: Nothing to do (empty lyx2lyx conversion)
292: Nothing to do, tex2lyx does not know japanese yet
293: Nothing to do (empty lyx2lyx conversion)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@36929 a592a061-630c-0410-9148-cb99ea01b6c8
278: Nothing to do, tex2lyx writes already an \end_deeper for each \begin_deeper
279-280: Nothing to do, tex2lyx does not produce character styles yet
281-282: Nothing to do (empty lyx2lyx conversion)
283: Nothing to do, tex2lyx does not produce character styles yet
284-286: Nothing to do (empty lyx2lyx conversion)
287: Nothing to do, tex2lyx does not produce wrapped figures yet
288: Use new syntax for command inset
This time, the (not format related) bug fix is to parse the starred jurabib
and natbib citation commands correctly.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@36927 a592a061-630c-0410-9148-cb99ea01b6c8
Nothing to do for 274: tex2lyx did not implement the special whitespace
handling that would have been needed for the old format.
Use the scaleBeforeRotation keyword for graphics (275).
This fixes actually a bug with the old version, that implicitly converted
all graphics to scale before rotation.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@36843 a592a061-630c-0410-9148-cb99ea01b6c8
since they are usually invalid in text mode (partial fix of bug 6797).
Also, prepare proper translation of \\slash{} and \nobreakdash.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@36840 a592a061-630c-0410-9148-cb99ea01b6c8
Since separators are not allowed by the current .lyx version written by
tex2lyx, an empty note is used instead.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@36838 a592a061-630c-0410-9148-cb99ea01b6c8
Also, disable corresponding code for required arguments. tex2lyx does
not produce a high enough file format yet for this to make sense, I
don't think.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@34635 a592a061-630c-0410-9148-cb99ea01b6c8
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
We have to set the language again when a new paragraph is started. Otherwise the n'th paragraph in a certain language is set to the document language.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@33727 a592a061-630c-0410-9148-cb99ea01b6c8
- correct the conversion of InsetCommand
- code optimization
- support for format 253: nomenclature is now recognized
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@30093 a592a061-630c-0410-9148-cb99ea01b6c8
Make several Parser methods return copies of tokens, because the
vector containing the token may get reallocated when it grows.
Revert now useless changeset 29557.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@29627 a592a061-630c-0410-9148-cb99ea01b6c8
The problem was that \" was forgotten in the list of accents to check
in unicodesymbols (because it used to have its own german-centric derogatory
handling).
I took the Comprehensive LaTeX Symbols List (table 6) and added all the
missing accents.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@29387 a592a061-630c-0410-9148-cb99ea01b6c8
This is overridden by any subsequent inputenc command.
The current encoding is also passed down to \input or \included files.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@28295 a592a061-630c-0410-9148-cb99ea01b6c8
as accents. Time will tell how robust this is.
All support for InsetLatexAccent has been removed.
I did not do the support for \inputencoding yet, because it is more difficult
to get right...
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@27596 a592a061-630c-0410-9148-cb99ea01b6c8
What works:
- parsing of inputenc should work
- \inputencoding is acted on in the preamble
What does not work:
- \inputencoding in the text
- all the corner cases I have not considered, and all buggy stuff in the
'what works' paragraph
- InsetLatexAccent are still created, but I do not know when they got added
to the code.
The only notable trick in the code is that I had to disable buffering. Otherwise
the whole text was read before I had a chance to change the encoding...
Finally I remove the artificial limitation that forbid
\usepackage[opt1,opt2]{package1,package2}
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@27592 a592a061-630c-0410-9148-cb99ea01b6c8
read utf8 tex documents and translate them to lyxformat 249.
There is still no code to discover the encoding and use it, but it is the
easiest part (I hope).
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@27563 a592a061-630c-0410-9148-cb99ea01b6c8
Instead, new token are read when requested. The idea from now is
to be able to chenge encoding on the fly.
Now it is time to see whether idocstream actually works...
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@27489 a592a061-630c-0410-9148-cb99ea01b6c8
* Context.cpp (begin_layout): make it a (private) method, and output
the extra stuff here.
(add_par_extra_stuff): this is used for stuff that is only for next
paragraph (like extra_stuff used to be); add_extra_stuff is now for
code that is output for all paragraphs in the context.
* text.cpp: update to new Context methods. Every user of add_extra_stuff
uses add_par_extra_stuff, except alignment (which has to be repeated
to fix bug 4806).
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@24656 a592a061-630c-0410-9148-cb99ea01b6c8
The reverted features could (and should) be reapplied as soon as tex2lyx can output unicode (bug 4379).
The patch of this change can be found here:
http://bugzilla.lyx.org/show_bug.cgi?id=4379
and can be applied with -R in this case.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@24557 a592a061-630c-0410-9148-cb99ea01b6c8
- fix an off by one error in the font size handling, fixes bug 4803
- support \lyxline, fixes bug 4795
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@24518 a592a061-630c-0410-9148-cb99ea01b6c8
- box-color.tex: testfile for tex2lyx to check if colors and boxes are correctly imported
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@24403 a592a061-630c-0410-9148-cb99ea01b6c8
Abdel suggested it might be worth pimpl'ing the FloatList and Counter objects, to get the header dependencies back down.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@23530 a592a061-630c-0410-9148-cb99ea01b6c8
tex2lyx Version 0.1.5
Commands
- support for \lyxline
- fix for bug 27:
- support for \selectlanguage
- support for \foreignlanguage
- support for \inputencoding
- updated support for \printindex
- support for \printnomenclature
- updated support for \listof
- updated support for \tableofcontents
Environments
- support for hyperlink
- support for shaded note
- support for framed note
Preamble
- support for font settings
- updated preamble format to lyxformat 303
(tex2lyx will still use lyxformat 245 for a while)
- updated language support
- support for multi-language documents that use babel
(CJK follows later)
- fix bug 2310:
- support for document encoding
Packages
- support for esint
- updated support for amsmath
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@21813 a592a061-630c-0410-9148-cb99ea01b6c8
- fileformat change
- tex2lyx support
- rename LFUN_BREAK_LINE to LFUN_NEW_LINE because this is what the lfun does and to avoid confusions
- new menu entry
- new shortcut C-S-Return
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@21778 a592a061-630c-0410-9148-cb99ea01b6c8
- support for \newline
- support for framed and shaded notes
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@21764 a592a061-630c-0410-9148-cb99ea01b6c8
- rename former "pagebreak" to "newpage" since it produces a \newpage
- new LFUN
- menu entry
- tex2lyx support
- fileformat change
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@21732 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
* 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
updated to support format >= 257 (with InsetCaption).
* src/Layout.cpp (forCaption): new method. Returns a pointer to a newly
allocated Layout suitable for representing a caption.
* src/tex2lyx/tex2lyx.cpp (tex2lyx): allocate a captionlayout object
* src/tex2lyx/text.cpp: use the captionlayout object to recognize the
\caption command.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18962 a592a061-630c-0410-9148-cb99ea01b6c8
if they are compatible (i.e. no optional arguments, no patterns)
* Recursive macros are also imported, but they only work correctly in the
limits of the current macro implementation in LyX
* Fixes http://bugzilla.lyx.org/show_bug.cgi?id=21
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18483 a592a061-630c-0410-9148-cb99ea01b6c8
\input{foo} means to input foo.tex, so add the .tex extension.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18470 a592a061-630c-0410-9148-cb99ea01b6c8
Remove all explicit 8bit characters from the source, to fix compilation
with windows xp under a chinese locale (bug 3496).
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18256 a592a061-630c-0410-9148-cb99ea01b6c8