Commit Graph

39 Commits

Author SHA1 Message Date
Georg Baum
28dc8a77ee Fix regression introduced in commit 7cfac95
Commit 7cfac95 got rid of empty lines that were created by removing \usepackage
statements. However, it added an additional newline in case the \usepackage
was not at the end of the line. This is now fixed.
2012-10-05 22:16:46 +02:00
Georg Baum
2f7f0c7631 Really fix bug #4468.
The old fix was incomplete (\verb~\~ was translated to \verb~~ in roundtrip).
The real cause for this bug (and also the mistranslation of \href{...}{\}})
was the misbehaviour of Token::character() (see comment in Parser.h): This
method even returns a character if the category is catEscape, and this is not
wanted in most (all?) cases.
2012-10-05 00:12:18 +02:00
Uwe Stöhr
487c8b5bd3 tex2lyx: update a command
Parser.cpp: improve a command as discussed
2012-07-03 00:39:41 +02:00
Uwe Stöhr
56f0e0c4fc tex2lyx/Parser.cpp: refine \verb handling 2012-07-01 02:12:56 +02:00
Uwe Stöhr
80884330d1 tex2lyx: fix handling of \verb
- Parser.cpp: \verb can have any character as delimiter (except of ASCII letters) not only '+', therefore partly revert [3943b887/lyxgit] and fix it for all cases
2012-06-30 03:25:19 +02:00
Uwe Stöhr
3943b887a8 tex2lyx/Parser.cpp: fix bug #4468: single '\' are allowed in the special case of '+' as comment argument delimiter 2012-06-23 20:00:49 +02:00
Vincent van Ravesteijn
1d721b6ea7 Fix typo and whitespace
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@40909 a592a061-630c-0410-9148-cb99ea01b6c8
2012-03-10 21:20:25 +00:00
Uwe Stöhr
408728aed9 tex2lyx: support for inline listings (fixes last part of #8066)
OK also for branch?

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@40860 a592a061-630c-0410-9148-cb99ea01b6c8
2012-03-05 22:04:22 +00:00
Uwe Stöhr
1a5891e1fd tex2lyx/text.cpp: don't parse catBegin in verbatim environments
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@40859 a592a061-630c-0410-9148-cb99ea01b6c8
2012-03-05 21:04:21 +00:00
Uwe Stöhr
df95041141 - text.cpp: - fix tex2lyx parsing of verbatim environments
- Parser.cpp: - new function to parse verbatim environments
- test/test-structure.tex: updated example

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@40850 a592a061-630c-0410-9148-cb99ea01b6c8
2012-03-04 13:27:53 +00:00
Georg Baum
3f8a615477 Fix bug in paragraph detection (can be seen in test case of bug #5187):
If we want to look at the token after the next token, it may be needed
to call tokenize_one() twice and not only once as done in good().


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@40234 a592a061-630c-0410-9148-cb99ea01b6c8
2011-11-20 20:28:55 +00:00
Georg Baum
b2e1eb0dda Clean up parsing of optional arguments:
If an optional argument can be followed by another one, we need to use
getFullOpt(). Otherwise it would not be possible to parse \foo[][bar].
Remove getOptContent to avoid confusion (it does exactly the same as
getArg('[', ']') which is used in most places.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@37354 a592a061-630c-0410-9148-cb99ea01b6c8
2011-01-28 20:29:06 +00:00
Georg Baum
c0778a3d0e Translate all known box insets. This is needed since the super-clever preamble
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
2011-01-21 18:29:10 +00:00
Georg Baum
0f3c4c2f04 Fix several false errors "stray '}' in text" that were caused by
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
2011-01-05 20:32:45 +00:00
Georg Baum
8b2ea705df Fix wrong setting of bibinset options if \cite{*} was found.
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
2011-01-02 18:16:23 +00:00
Georg Baum
812c27d793 Improve tex2lyx roundtrip of test-insets.tex:
- 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
2011-01-02 15:39:48 +00:00
Georg Baum
3403727940 Translate "\LyX{}" and "LyX" correctly in tex2lyx
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@37052 a592a061-630c-0410-9148-cb99ea01b6c8
2010-12-30 21:56:55 +00:00
Georg Baum
93232c3ad6 Improve roundtrip of tex2lyx test documents:
- 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
2010-12-19 14:54:23 +00:00
Jean-Marc Lasgouttes
ccfcd71b36 Get rid of Token::asString(), which is equivalent to cs().
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@32439 a592a061-630c-0410-9148-cb99ea01b6c8
2009-12-09 11:53:16 +00:00
Jean-Marc Lasgouttes
eef60e5197 fix part of ticket #6142: avoid a memory access error when an encoding is unkonwn
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@31222 a592a061-630c-0410-9148-cb99ea01b6c8
2009-08-24 22:06:51 +00:00
Uwe Stöhr
1e4def9460 tex2lyx:
- 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
2009-06-14 02:16:51 +00:00
Jean-Marc Lasgouttes
3e3179b4d4 Hopefully complete fix to bug #5935
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
2009-05-11 11:02:25 +00:00
Abdelrazak Younes
33924e31ef Fix MSVC warning.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@29511 a592a061-630c-0410-9148-cb99ea01b6c8
2009-05-03 13:27:53 +00:00
Jean-Marc Lasgouttes
f83ae91f05 Add a new command line parameter -e that sets the default (latex) encoding.
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
2009-01-30 14:47:06 +00:00
Jean-Marc Lasgouttes
28f43b1896 Now tex2lyx is able to set the encoding from what it reads in the preamble.
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
2008-11-16 21:51:18 +00:00
Jean-Marc Lasgouttes
337c6d1577 First serious step for utf8 file format format. tex2lyx is now able to
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
2008-11-16 17:02:00 +00:00
Jean-Marc Lasgouttes
bb04efd5a8 Now the document is not parsed at the beginning anymore.
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
2008-11-15 20:30:45 +00:00
Jean-Marc Lasgouttes
ffafdb2bbe move the catInit call around
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@27481 a592a061-630c-0410-9148-cb99ea01b6c8
2008-11-15 19:30:58 +00:00
Jean-Marc Lasgouttes
6419342fbf let Parser store the stream it is working on
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@27457 a592a061-630c-0410-9148-cb99ea01b6c8
2008-11-15 15:09:59 +00:00
Jean-Marc Lasgouttes
fa3ea10057 break parser::tokenize in parts
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@27454 a592a061-630c-0410-9148-cb99ea01b6c8
2008-11-15 14:38:27 +00:00
Jean-Marc Lasgouttes
363d5e2d36 remove unused method
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@27438 a592a061-630c-0410-9148-cb99ea01b6c8
2008-11-15 11:46:05 +00:00
André Pönitz
7ffa606290 introduce unneeded whitespace
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@27426 a592a061-630c-0410-9148-cb99ea01b6c8
2008-11-14 16:16:45 +00:00
André Pönitz
f1cba8ff64 more latin1..utf8 schanges. all of src/* should be utf8 now
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@27425 a592a061-630c-0410-9148-cb99ea01b6c8
2008-11-14 15:58:50 +00:00
Jean-Marc Lasgouttes
a77cd8c0c6 cleanup parser code at least
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@24323 a592a061-630c-0410-9148-cb99ea01b6c8
2008-04-18 12:26:21 +00:00
Uwe Stöhr
7ba6ed2654 tex2lyx/Parser.cpp: rename a function since it returns a mandatory argument
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@24310 a592a061-630c-0410-9148-cb99ea01b6c8
2008-04-17 00:22:16 +00:00
Uwe Stöhr
d3b2f94388 tex2lyx: text.cpp, Parser.h, Parser.cpp:
fix the import of \makebox, fixes http://bugzilla.lyx.org/show_bug.cgi?id=2504

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@24244 a592a061-630c-0410-9148-cb99ea01b6c8
2008-04-12 12:50:04 +00:00
Abdelrazak Younes
9abb7db468 getting rid of superfluous std:: statements.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22104 a592a061-630c-0410-9148-cb99ea01b6c8
2007-12-12 19:28:07 +00:00
Abdelrazak Younes
9383f4c3c6 'using namespace std' instead of 'using std::xxx'
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22097 a592a061-630c-0410-9148-cb99ea01b6c8
2007-12-12 10:16:00 +00:00
Bo Peng
04591a6e34 Rename .C ==> .cpp for files in src/tex2lyx, part two
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18023 a592a061-630c-0410-9148-cb99ea01b6c8
2007-04-26 04:53:30 +00:00