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
LyX would output the parsed stuff unconditionally, so we must not translate
it in LyX document settings.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@37191 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
344: Remove pdf_pagebackref header flag
345: Nothing to do (this is a docbook-only change)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@37015 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
331: Set the caption flag for longtable caption rows
332: Nothing to do (empty lyx2lyx conversion)
333: Nothing to do (tex2lyx did already use the new style names because it
uses the current layout files)
334: Nothing to do (tex2lyx did already produce the new format, since it
used the LaTeX paper names also in the output and did not suffer from
bug 4868)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@37012 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
321: Move leftlines/rightlines from column headers to cells
322: Nothing to do (tex2lyx does not produce plain layouts)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@37009 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
297: new name for upper sorbian language, new languages albanian and lower
sorbian (actually lower sorbias was (incorrectly) already recognized)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@36945 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, since tex2lyx does not produce the invalid tables.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@36847 a592a061-630c-0410-9148-cb99ea01b6c8
I could reproduce the warnings, and comparing the man output with and without
patch verified that the quotes were completely missing in the old version
while they are OK in the new one.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@36846 a592a061-630c-0410-9148-cb99ea01b6c8
Add support for arabic (arabi package), and two languages that are already
avaiilable in previous formats, but have been forgotten: latvian and lithuanian.
Again, the previous format was not handled correctly:
arabic (arabi) was parsed as arabic (arabtex).
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@36845 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
Nothing to do, since lyx2lyx conversions are empty except for version 271,
and tex2lyx already outputs the new format for 271.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@36842 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
elsewhere, but I actually don't know why I put them here in the first
place.
The tex2lyx stuff allows us not to wrap the calls to
frontend::Alert::warning in "#ifdef TEX2LYX" blocks.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@34192 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
- proper solution to determine the quotes language
- add Kazakh, that we already support in LyX for ages
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@32476 a592a061-630c-0410-9148-cb99ea01b6c8
Everything is ok while reading the file, but when the lyxfile is written, only the first byte of a double-byte character is written to the file. This is because t.character() is sort of defined as cs_[0] in which cs_ is a docstring. This thus seems to fail for multi-byte characters.
Compare with src\tex2lyx\text.cpp line: 1250.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@32441 a592a061-630c-0410-9148-cb99ea01b6c8
to FontInfo.*
This allows tex2lyx to use the plain FontInfo object (via Layout), and to remove
several '#ifdef TEX2LYX' in the code
Reorder a bit the makefile in tex2lyx
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@31772 a592a061-630c-0410-9148-cb99ea01b6c8
- when languages are given in the documentclass options _and_ the babel options, babel takes the last language option of the \usepackage call
- there is no quote language "ngerman", it is in both cases "german"
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@31685 a592a061-630c-0410-9148-cb99ea01b6c8
This can be seen by trying out the document attached to ticket #6142.
The problem was that handle_opt() is not used only to parse languages,
and thus setting a lang-related bool in there is asking for trouble.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@31440 a592a061-630c-0410-9148-cb99ea01b6c8
assertion when Qt is compiled in debug mode, and simply directly perform
an emergency cleanup when a shutdown event occurs on Windows.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@31029 a592a061-630c-0410-9148-cb99ea01b6c8
- better whitespace preamble output (still not perfect)
- support for fileformat 258
- proper solution how to treat LyX specific preamble stuff; this solves long standing issues (the old solution failed when more than one LyX specific command was used in a file)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@30103 a592a061-630c-0410-9148-cb99ea01b6c8
- the code for \clear***page was already there
- tex2lyx allows already to use any input encoding
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@30096 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
- support for url, varioref, prettyref
- reduce the sometimes huge amount of whitespace in the preamble after importing files
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@30058 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
DVI viewer passes back the resolved path, such that the search fails,
as internally LyX uses the unresolved path.
This patch fixes this bug by using the new method FileName::realPath
which resolves a path by getting rid of any '.', '..', or symlink
path components.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@29476 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
- make it autogenerated
- clean up the markup
- remove obsolete information
- try to update in general
Hopefully I did not break the markup...
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@28871 a592a061-630c-0410-9148-cb99ea01b6c8
- fix thinko that caused tex2lyx to silently drop custom preamble entries in non-LyX-generated tex files.
(bug 5788). Patch from Jean-Marc.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@28567 a592a061-630c-0410-9148-cb99ea01b6c8
available to tex2lyx. The point is to move the crucial routines that
deal with modules out of BufferParams.cpp, which tex2lyx does not have,
and into TextClass.cpp, which it does.
This is all cleanup that makes a lot of sense independently.
Note that LayoutModuleList will shortly become a real class.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@28456 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
* autogen.sh: use autopoint to poulate the gettext code; simplify.
* po/Rules-lyx: move the LyX-specific code of the Makefile here.
* configure.ac: add magic incantation telling autopoint to import
gettext 0.16.1. Generate config.h in toplevel directory to please
gettext.
* src/tex2lyx/Makefile.am:
* src/client/Messages.cpp: compile fix
* remove all files that came from a gettext distribution.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@25167 a592a061-630c-0410-9148-cb99ea01b6c8
- tey2lyx\test-structure.tex: add paper size document class option for testing
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@24791 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