Commit Graph

217 Commits

Author SHA1 Message Date
Uwe Stöhr
a69fcde072 tex2lyx/Preamble.cpp: fix bug #8525 temporarily
- this might break some tex2lyx features but tex2lyx was completely broken - not even the simplest TeX file could be imported and compiles
2013-02-10 23:31:38 +01:00
Jean-Marc Lasgouttes
be42f1398d Fix bug #5408: tex2lyx cannot handle verbatim code
- Implement catcode setting in Parser
- add a new Parser::verbatimStuff method that reads verbatim contents
- use this method to parse "verbatim" environment.
- use it to parse \verb too.
- rename Parser::verbatimEnvironment to ertEnvironment.

TODO:
- use for other verbatim-like cases (Sweave chunk, lstlisting...)
- factor out the function that outputs ERT (including line breaks)
- maybe implement Parser::unparse (if needed)
2013-02-04 10:25:58 +01:00
Uwe Stöhr
49c887761a tex2lyx: support refstyle and its commands
fixes #4288
2013-02-04 01:41:56 +01:00
Julien Rioux
e5165f7fc3 Exclude unsafe encodings when setting the inputencoding value.
All of the japanese encodings are safe, but nevertheless the
logic here should exclude unsafe encodings.
2013-01-23 12:30:15 +01:00
Julien Rioux
0601336c24 Respect the encoding passed to tex2lyx on the command line.
Fixup for #8218, fixes #8518.
2013-01-23 00:25:00 +01:00
Julien Rioux
2eea1590b1 Separation of the various names for encodings.
Provide functions for translating to the LyX name
of an encoding from either a LaTeX name or an Iconv
name, with the possibility to specify the package.
This is in anticipation of changing to use the LyX
name of the encoding in the .lyx file format and
allowing multiple lib/encodings entries to have
the same LaTeX name (but different packages!).

The tex2lyx parser needs to worry about the iconv
name of the input encoding, so store that instead
of the latex name.
2013-01-22 23:43:18 +01:00
Georg Baum
de5e348727 Fix bug #8468: Wrong import of UTF8 CJK.
Actually, the test case showed several problems:
- ERT insets did use layout "Standard", not "Plain Layout"
- The font scale was read correctly, but tex2lyx claimed that it did ignore
  the option "scaled=0.95"
- If a third argument of the CJK environment was given, it caused the whole
  environment to be put in ERT with a broken encoding. This is now fixed for
  the bug test case by using the \font_cjk header variable, but the encoding
  problem still exists for unsupported encodings. I'll file a separate bug
  for that.
- The CJKutf8 package was not handled in the preamble parsing. Therefore the
  chinese comment in the preamble was read with a wrong encoding, and guessing
  the document language did not work.
The new file CJKutf8.tex was created by copying and modifying CJK.tex, but
unfortunately it is impossible to tell git to inherit the history of CJK.tex
for the new file (search the web for git svn copy if you want to know details).
2012-12-30 20:52:49 +01:00
Georg Baum
56ece75ad9 Fix bug #8464: stackrel with subscript.
The fix is basically mechanical, the additional code for fraction like insets
with three arguments was stolen from \unitfrac. As any math package,
stackrel.sty needs a buffer parameter to switch it off.
I also added the two stackrel flavours to the toolbar.
2012-12-28 20:08:43 +01:00
Georg Baum
f67cf6f4bb Add support for stmaryrd.sty (bug #8434)
The stmaryrd package adds support for lots of math symbols, using a font
designed to accompany the computer modern fonts. The changes in detail:

- Fix generate_symbols_list.py to work with stmaryrd.sty. It loooks like it
  was automatically translated from a perl version and never used.
- Generate the new symbols in lib/symbols using generate_symbols_list.py and
  add some manual adjustments
- Generate stmary10.ttf by a simple ttf export from stmary10.sfd with fontforge
- Add license info for stmary10.ttf
- Create a test file with all symbols from stmaryrd.sty. Actually it would be
  nice to have this for the other fonts as well.
- The mechanics: lyx2lyx, tex2lyx, font machinery etc.
2012-12-15 13:10:31 +01:00
Jean-Marc Lasgouttes
4f6c0b5202 Fix # 8414: Use the noweb module instead of literate-* article layouts
Now that we have module support for literate programming, it is possible to do a noweb cleanup. This is basically a patch from Kayvan Sylvan:

- get rid of literate-xxx classes
- rename Scrap to Chunk, since this is the name noweb doc uses (Scrap is from nuweb)
- update lyx file format and add lyx2lyx support for gettting rid of literate-xxx classes
- update documentation

On the top of it, update tex2lyx to
- avoid creating files with literate-xxx class
- fix conflict between parsing << as a quote and parsing it as a Chunk
- create Chunk layouts instead of Scrap ones.
2012-11-28 14:11:47 +01:00
Georg Baum
78a7743166 Import theorems correctly (bugs #5702, #5776)
Actually tex2lyx can handle modules since some time (#5702), but not
theorems (#5776). Now the following issues are fixed:
- Modules that depend on other modules can be loaded, since the dependencies
  are loaded first
- Default moduls of the text class are loaded correctly
- \newtheorem is recognized as a command that defines new environments and
  treated similar to \newenvironment
2012-10-26 22:23:16 +02:00
Georg Baum
23d7d6449f Set CJK document language instead of adding a note.
Instead of annoying the user with an automatically created note in the output
document which she needs to delete manually, determine the document language
automatically for documents that use CJK. This is done using a heuristic which
roughly counts the number of characters in each language and sets the one that
is used most often. This is not perfect, but it works for the two major use
cases: A document with only some CJK parts (in this case the babel language is
used), and a document which is mainly written in one CJK language. It is only
a minor problem if the heuristic is wrong, since the TeX export is still
correct, and there is no spell checking support for CJK anyway.
Now all regression tests do pass except for some relative path issues
depending on the location of the build directory.
2012-10-06 09:38:14 +02:00
Georg Baum
8863ac62aa Really output file format 444
The previous output was read correctly by LyX as well, but the new version is
more similar to the files written by LyX. Also update TODO with recent file
format changes.
2012-10-06 00:29:16 +02:00
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
af322ba9b4 Make CJK.lyx exportable.
If there was an encoding set by the inputenc package, it must not be ignored.
Now all tex2lyx test cases can be exported to .tex again by LyX (although
there are still some differences in the .lyx output).
2012-07-08 22:35:22 +02:00
Uwe Stöhr
f0335cef1e tex2lyx: fix a regression
Preamble.cpp: - partly revert [e1b181dd/lyxgit] because the math packages cannot by default be loaded as the user might have defined special commands
2012-07-08 21:32:26 +02:00
Uwe Stöhr
d10063fd20 polyglossia tex2lyx coding style improvement
- Preamble.cpp/:
 - move list definition out of anon namespace
 - declare lists and a function in the class

- text.cpp: remove the now already defined list
2012-07-01 01:47:39 +02:00
Uwe Stöhr
8f7195a251 tex2lyx: fix a logic mistake
Preamble.cpp: set missing begin position for the search; thanks Vincent for spotting
2012-06-27 23:18:02 +02:00
Uwe Stöhr
62db3d535d tex2lyx: fix some issues spotted by Vincent 2012-06-27 02:52:09 +02:00
Uwe Stöhr
2e8ed3b3b5 tex2lyx: support fontspec scale option
Preamble.cpp:
 - support the font scaling
 - improve coding style

text.cpp: - improve logic/coding style

XeTeX-polyglossia.tex:
 - add scaling
 - change document so that it is compilable using the Libertine font
2012-06-26 00:46:02 +02:00
Vincent van Ravesteijn
e20238e21f tex2lyx: Remove superfluous '\n'
Instead of adding the extra '\n' to tex2lyx, we should remove it from
BufferParams.cpp because it was introduced there unintendedly in d7eaaba9
(Juergen Spitzmueller; "support for CJK font argument"; Jun 5 2008).

This partly reverts commit c2810f922665c591a7c32d4c679e58e55132505a.
2012-06-25 11:26:20 +02:00
Uwe Stöhr
5ad84b9fbd support non-CJK Japanese for tex2lyx
We cannot know the exact encoding and thus con only assume one (the one that Koji uses for the docs) and output a not at the beginning
2012-06-24 18:10:36 +02:00
Uwe Stöhr
adb0d7f63f support synctex in tex2lyx.cpp
- tex2lyx/Preamble.cpp/h: handle \synctex and package srcltx
- tex2lyx/test/test-structure.tex: add \synctex
2012-06-24 16:59:21 +02:00
Uwe Stöhr
5d79cd531d tex2lyx/Preamble.cpp: fix a typo 2012-06-24 15:37:51 +02:00
Uwe Stöhr
e1b181ddd4 update tex2lyx header format really to fileformat 433
- tex2lyx/Preamble.cpp/h: not all new header definitions since fileformat 413 have yet been added to texl2yx, so do it now; also change some new default values
2012-06-24 15:29:32 +02:00
Uwe Stöhr
e7d1e5b0c9 tex2lyx comment corrections
tex2lyx/Preamble.cpp, tex2lyx/text.cpp: add info about CJK languages
2012-06-24 14:39:57 +02:00
Uwe Stöhr
a3f4f2d1e3 CJK support for tex2lyx
- support as best as possible; setting a document language is however not possible
- fixes bug #4377
2012-06-24 06:38:33 +02:00
Uwe Stöhr
d37bb54e7b - language: Kurmanji is since 2009 also supported by babel; no fileformat change necessary because Kurmanji is already covered by fileformat 432
- tex2lyx/Preamble.cpp: babel support for Kurmanji and remove comment residues of ArmTeX whose support was removed by fileformat 433
2012-06-23 18:56:10 +02:00
Uwe Stöhr
7a103ba6d7 tex2lyx/Preamble.cpp: remove a FIXME, the problem was only in trunk (bug #8211) and is now fixed 2012-06-23 16:57:22 +02:00
Uwe Stöhr
828f7171e8 - tex2lyx: support for the polyglossia language variants
- XeTeX-polyglossia.tex: simplifications, added some more testcases
2012-06-23 04:28:52 +02:00
Uwe Stöhr
73f0f4dd6c - Preamble.cpp: handle \setxxxlanguage with options
- text.cpp: handle the commands \textxxx with options
- XeTeX-polyglossia.tex: add 2 more testcases
2012-06-22 17:19:46 +02:00
Uwe Stöhr
7eca5d94d1 - support a bunch of new languages (fileformat change)
- tex2lyx support for
  - fontspec fonts
  - polyglossia
2012-06-08 02:37:36 +02:00
Jean-Marc Lasgouttes
a756403301 "Performance" fixes suggested by cppcheck
While cppcheck did not turn out any suspicious error messages, using
the "performance" flag highlighted several nitpicks in three categories
 * do not use it++ for iterators, ++it is better
 * do not use size() to test for emptyness, empty() is here
 * do not use "const T" as a function parameter, "const & T" is better

I doubt that any of these is a real performance problem, but the code is cleaner anyway.
2012-05-28 22:42:44 +02:00
Georg Baum
3ded1c8506 Fix bug #8116.
The string we parse as name may contain backslashes if \csname ... \endcsname
is used. Therefore we have to output it using asInput() instead of cs().
2012-05-13 18:41:51 +02:00
Georg Baum
b86c984bf4 Disentangle amsmath and amssymb loading.
This is needed if you load a font package incompatible to amssymb manually
(see bug #5058).
2012-05-06 20:49:49 +02:00
Georg Baum
c90e02ff0d Import table cells in sideways environment.
This is a part of bug #8081: Translate cells in
\begin{sideways}...\end{sideways} to native syntax. The turn environment
comes in a later commit, since this one os suitable for backporting.
2012-05-06 18:47:53 +02:00
Georg Baum
7cfac958f2 Do not swallow newlines after \usepackage. 2012-05-06 17:37:09 +02:00
Georg Baum
c1965123ed Fix bug #8104 (\date argument was eaten)
I introduced this bug in r40091 where support for empty dates was added.
I also noticed that the title_layout_found flag was not properly passed down
to all variants of parse_text*. Since this is rather a global variable I
placed it into the preamble class.

The test case of bug #8104 shows other problems as well, but those are no
regressions and will be fixed separately.

OK for branch?
2012-04-19 20:46:08 +02:00
Georg Baum
190ab4774d Import \sindex correctly
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@40804 a592a061-630c-0410-9148-cb99ea01b6c8
2012-02-28 20:34:50 +00:00
Jean-Marc Lasgouttes
586e0e6b8a Set use_non_tex_fonts buffer parameter and default encoding correctly when we detect that xetex or luatex is used.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@40765 a592a061-630c-0410-9148-cb99ea01b6c8
2012-02-16 10:40:02 +00:00
Julien Rioux
a99960cc04 Update tex2lyx to format 424.
The type of citation engine is determined by the citation package
being used and, in the case of natbib, its options.

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@40593 a592a061-630c-0410-9148-cb99ea01b6c8
2012-01-09 13:16:41 +00:00
Georg Baum
6332326cf6 Load mathtools.sty automatically (bug #7949) and make lyx2lyx reversion
more robust.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@40574 a592a061-630c-0410-9148-cb99ea01b6c8
2012-01-05 20:53:48 +00:00
Georg Baum
bf3f3f9816 Second step towards a more generic package off/auto/on handling:
File format change


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@40563 a592a061-630c-0410-9148-cb99ea01b6c8
2012-01-03 21:26:09 +00:00
Julien Rioux
e6051e1559 Update tex2lyx to format 420. Determine the default style
from the citation package being used or from a \bibliographystyle
command in the preamble, if any>

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@40499 a592a061-630c-0410-9148-cb99ea01b6c8
2011-12-14 01:11:18 +00:00
Julien Rioux
3c41715774 Remove extra whitespace.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@40497 a592a061-630c-0410-9148-cb99ea01b6c8
2011-12-14 00:20:41 +00:00
Georg Baum
9b8773826c do not hardcode packages loaded by external insets
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@40491 a592a061-630c-0410-9148-cb99ea01b6c8
2011-12-13 19:40:05 +00:00
Uwe Stöhr
fe8c185a6e support for Australian and Newzealand as document language; fileformat change
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@40452 a592a061-630c-0410-9148-cb99ea01b6c8
2011-12-08 23:58:30 +00:00
Georg Baum
bb0432d74a Beautify output of \usepckage statements (each statement is on its own line
now) and move more packages to the new exclude mechanism.
The remaining ones are not so easy.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@40442 a592a061-630c-0410-9148-cb99ea01b6c8
2011-12-08 20:05:51 +00:00
Richard Heck
cad2ffea44 Update tex2lyx to format 418. Nothing really to do other than write
what we expect to see.

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@40430 a592a061-630c-0410-9148-cb99ea01b6c8
2011-12-07 22:46:15 +00:00
Richard Heck
5d2d5e8ad5 Revert unintentional commit.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@40429 a592a061-630c-0410-9148-cb99ea01b6c8
2011-12-07 22:44:21 +00:00
Richard Heck
8ba08a53b2 Update all layouts to format 36.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@40428 a592a061-630c-0410-9148-cb99ea01b6c8
2011-12-07 22:41:38 +00:00
Uwe Stöhr
75cbb27e5c tex2lyx Preamble.cpp, text.cpp: fix #7845 also for spreadsheet template
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@40424 a592a061-630c-0410-9148-cb99ea01b6c8
2011-12-07 21:21:22 +00:00
Uwe Stöhr
faaccd6605 tex2lyx: support for pdfpages
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@40368 a592a061-630c-0410-9148-cb99ea01b6c8
2011-12-05 00:57:42 +00:00
Georg Baum
07b2ffa469 fix preamble output in case child docs are present
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@40362 a592a061-630c-0410-9148-cb99ea01b6c8
2011-12-04 15:35:59 +00:00
Georg Baum
5a525d932f Move some more packages from unconditionally swallowing to the package
registration mechanism, so that they are only swallowed if LyX will load them.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@40315 a592a061-630c-0410-9148-cb99ea01b6c8
2011-11-29 20:09:40 +00:00
Uwe Stöhr
2906a35663 tex2lyx: support for Spreadsheet and chess external templates
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@40270 a592a061-630c-0410-9148-cb99ea01b6c8
2011-11-25 01:01:45 +00:00
Georg Baum
f077658248 Fix bug #4553: booktabs for tex2lyx
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@40189 a592a061-630c-0410-9148-cb99ea01b6c8
2011-11-13 19:49:50 +00:00
Georg Baum
36f7ae1207 Do not swallow geometry settings if they are given as package options and
replace home made keyval parsing with the more robust process_keyval_opt().


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@40185 a592a061-630c-0410-9148-cb99ea01b6c8
2011-11-13 12:23:27 +00:00
Georg Baum
491bad7b00 Distinguish between empty argument and no argument
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@40141 a592a061-630c-0410-9148-cb99ea01b6c8
2011-11-06 17:32:15 +00:00
Georg Baum
0dee3eff18 Fix bug #4213: Change tracking support for tex2lyx.
Of course this will only work if output_changes was true when creating the
.tex file.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@40139 a592a061-630c-0410-9148-cb99ea01b6c8
2011-11-06 17:03:59 +00:00
Georg Baum
7185c39fb1 \color may have an optional argument (part of bug #6567).
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@40134 a592a061-630c-0410-9148-cb99ea01b6c8
2011-11-04 21:24:05 +00:00
Uwe Stöhr
0e49fd22ad tex2lyx/Preamble.cpp: fix some comments
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@40108 a592a061-630c-0410-9148-cb99ea01b6c8
2011-10-31 01:51:46 +00:00
Georg Baum
b436f71b33 Only the packages subscript and ulem if they are automatically loaded
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@40097 a592a061-630c-0410-9148-cb99ea01b6c8
2011-10-30 18:51:41 +00:00
Georg Baum
f8cc30a1f2 Create mechanism to handle packages for which we only know after parsing
the complete document whether LyX will load them or not.
Use the mechanism for the color package (fixes the color part of bug #7845).


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@40095 a592a061-630c-0410-9148-cb99ea01b6c8
2011-10-30 18:12:49 +00:00
Georg Baum
0d10ca7e6e get rid of the modules_placeholder hack
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@40092 a592a061-630c-0410-9148-cb99ea01b6c8
2011-10-30 13:44:00 +00:00
Georg Baum
c93c44bf64 Fix bug #7844: \date{} in main text is recognized
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@40091 a592a061-630c-0410-9148-cb99ea01b6c8
2011-10-30 13:21:06 +00:00
Georg Baum
18d18f1b8c First step towards proper handling of partially supported packages:
Convert the preamble code into a class.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@40090 a592a061-630c-0410-9148-cb99ea01b6c8
2011-10-30 12:47:45 +00:00