Commit Graph

946 Commits

Author SHA1 Message Date
Kornel Benko
e04523f77b Make change tracking in export to latex be independent of timezone 2013-01-07 15:46:47 +01:00
Kornel Benko
bd2468c341 Use program suffix to address lyx-executable, according to suffix
of tex2lyx.

Still the is error in tex2lyx, which searches for invalid suffix to
find the correct lyx executable.
2013-01-03 13:02:34 +01:00
Kornel Benko
4ff3e14144 In tex2lyx tests do not compare the first 2 lines.
This removes the need to update the lyx-format of the test files too often.
(To please Vincent and me)
2013-01-01 13:23:24 +01:00
Kornel Benko
297d534fdd Adapt format to lyx-files in tex2lyx-tests 2012-12-31 18:50:35 +01:00
Georg Baum
9c33bddffa Let tex2lyx really produce format 458. 2012-12-31 18:22:05 +01:00
Juergen Spitzmueller
846dd9b995 Introduce new beamer frame layouts
The old layouts are still there (marked as deprecated). The new ones are more or less correctly reverted (polishment required), but the old ones not yet converted to the new. Once this is done, a further file format change should be made.
2012-12-31 13:00:46 +01:00
Georg Baum
ee3ce572a0 Fix import of shift-jis and big5 CJK texts.
These encodings were not defined, since they must not be used as document
encodings (the characters {, } and \ may appear in high bytes, and latex
would be confused). However, they are supported by CJK.sty (which uses a
preprocessor to circumvent the limitations of the latex executable). These
encodings are now defined, but used for import in tex2lyx only.
The test case CJK.tex contained fake tests for shift-jis and big5 (the
japanese and chinese characters were entered using the utf8 encoding), and
therefore the wrong interpretation of these encoding looked as if it worked.
The comments about missing iconv support of shift-jis and big5 were wrong as
well (otherwise shift-jis-plain would not work either).
2012-12-30 20:52:50 +01:00
Georg Baum
81f1f33a79 Add tex2lyx test results to dist package.
Otherwise "make check" will fail for sources not obtained from git.
2012-12-30 20:52:50 +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
c51449cac6 Fix tex2lyx bug #8466: special file names.
Special characters as created by latex_path() where not converted corectly
from LaTeX macros by tex2lyx. Now this is done, even for file names containing
double quotes which are not used for quoting spaces. These file names are not
legal on windows, and will causes probelms in DVI files, but if they occur
tex2lyx does not produce invalid .lyx files.
2012-12-30 20:52:49 +01:00
Juergen Spitzmueller
c246076ed5 Fix the 'caption inset mess' (bug #4647) 2012-12-30 18:29:02 +01:00
Kornel Benko
1ccc92717c The param 'close_fds' is not allowed on windos for subprocess.popen call,
if there are also redirections to stdin, stdout or stderr.
2012-12-30 11:30:15 +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
8693f5a91e Fix bug #8422.
Both problems where caused by the fact that tex2lyx did not handle
natbib/jurabib citations correctly if natbib/jurabib was loaded by the
document class. Therefore it tried to parse the standard \cite syntax, and
did not recognize \citet and \citep.
2012-12-28 20:08:42 +01:00
Georg Baum
594c83261a Update tex2lyx test cases
The recent file format changes do not change the output of the existing test
cases, so only the version number needs to be updated.
2012-12-28 20:08:42 +01:00
Kornel Benko
981b9c69d1 1.) Add format to CJK.lyx.lyx(missed in previous commit)
2.) Add lyx2lyx test to runtests.py. This is done with extra parameter only,
  and does not change the behaviour without this parameter.
2012-12-28 16:22:25 +01:00
Kornel Benko
889563984f Adapt format to test files 2012-12-28 16:19:34 +01:00
Juergen Spitzmueller
78cd88f5a3 Proper support for memoir epigraph (bug #8151) 2012-12-28 12:32:59 +01:00
Juergen Spitzmueller
483b99193f Support for beamer \frametitle
The \frametitle command is less convenient to use than the \frame argument, but it provides more options (overlay/action and short title). We thus provide this additionally to the option, like beamer itself does.
2012-12-22 16:28:43 +01:00
Juergen Spitzmueller
4f36061811 Proper support for beamer overprint environment
This has a list-like structure (with \onslide item commands). The previous implementation was rather useless, since it required lots of ERT. Since the new implementation is so different, we use ERT for conersion/reversion.

The lyx2lyx routines are not yet perfect, though.
2012-12-19 19:33:39 +01:00
Vincent van Ravesteijn
1b3871b302 Add custom target to run tests
This target can depend on the individual test projects and this makes sure
that the test projects are build before running the tests.
2012-12-17 22:26:14 +01:00
Georg Baum
3d4da7fa61 Do not call tex2lyx in roundtrip mode for tests 2012-12-15 17:47:09 +01:00
Kornel Benko
9f7c8be6d7 Cmake build tex2lyx testing:
To please Georg:
1.) Do _not_ use globbing to get test file
2.) Do not evaluate stderr output of tex2lyx
2012-12-15 15:38:48 +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
Vincent van Ravesteijn
0cd8c03d17 CMake: Put projects into subdirs
This patch puts all projects into subfolders (at least for MSVS). In this
way, there is a better overview (especially if the number of test projects
will be increasing).
2012-12-15 11:02:06 +01:00
Kornel Benko
892e237fe1 Cmake build: Testing
Make this all more the cmake way
2012-12-15 00:15:59 +01:00
Kornel Benko
78470fba03 Cmake build: tex2lyx
Retrieve and name the test-cases with a globbing expression
2012-12-14 19:47:43 +01:00
Kornel Benko
2b66f1b1ac Split roundtrip tests (at least on cmake build)
to show better grained output
2012-12-14 19:07:28 +01:00
Kornel Benko
8c0ca33295 Roundtrip test. Forgotten in previous commit 2012-12-14 13:33:56 +01:00
Kornel Benko
c3256a2d52 Roundtrip test corrected, due to changes of tex2lyx (less emty lines) 2012-12-14 13:31:21 +01:00
Jean-Marc Lasgouttes
275b889501 tex2lyx: there is no need to have a blank line after \begin_layout
I think it used to be the case in LyX, but not anymore. Removing this extra line helps to do lyx>tex>lyx roundtrip analysis
2012-12-14 12:50:46 +01:00
Jean-Marc Lasgouttes
f775add258 Whitespace only 2012-12-14 12:33:39 +01:00
Kornel Benko
81500fc99b Cmake build:
Move definitions of target ${_lyx} and ${_tex2lyx} to top-most directory,
to make them overall available
2012-12-14 12:23:17 +01:00
Kornel Benko
96dd1363a2 Cmake build: all tests
1.) Rename tests to show their grouping
2.) Adapt the roundtrip tests to new lyx-format
2012-12-13 15:35:04 +01:00
Juergen Spitzmueller
d073cfb458 Support for beamer block arguments (#3280) 2012-12-09 17:19:21 +01:00
Juergen Spitzmueller
30b53ba4a0 beamer revision, part 1: support for overlay arguments 2012-12-09 11:04:56 +01:00
Juergen Spitzmueller
a84a98b545 Also add support for URW Garamond math fonts (via newtx) 2012-12-04 12:55:47 +01:00
Juergen Spitzmueller
53626a8beb tex2lyx updates for the recent format change 2012-12-04 12:20:34 +01:00
Juergen Spitzmueller
3931331b56 update tex2lyx test files 2012-11-30 09:08:54 +01:00
Juergen Spitzmueller
1500e44cba Support for \item arguments 2012-11-29 15:34:20 +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
f952882bc8 Update tex2lyx tests to new file format 2012-11-25 12:42:40 +01:00
Juergen Spitzmueller
973481a4ff typos 2012-11-20 13:30:52 +01:00
Juergen Spitzmueller
4309dd54c7 extend comments and fix caption argument conversion 2012-11-20 12:58:36 +01:00
Juergen Spitzmueller
49b738bdfd Some documentation 2012-11-19 18:44:59 +01:00
Juergen Spitzmueller
fffc46a4f7 Workaround to let tex2lyx handle the new argument syntax. This needs to be implemented properly (proper argument number) 2012-11-19 15:50:43 +01:00
Juergen Spitzmueller
2e69c66195 InsetArgument revision, first working version 2012-11-19 14:21:02 +01:00
Kornel Benko
d91d6e3343 Cmake build:
Cleanup the use of path-variables
2012-11-02 13:33:22 +01:00
Kornel Benko
854b168d17 Cmake build:
Correct dependencies for version-info also at build-time
(not only at configure time)
2012-11-01 13:00:19 +01:00
Lars Gullik Bjønnes
43f6b1672b Use empty() to check empty and non-empty'ness not size()
Also add FormatList::empty().
2012-10-27 01:25:38 +02: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
Juergen Spitzmueller
7c6ae4d740 Update tex2lyx test files 2012-10-25 07:47:42 +02:00
Georg Baum
02b1c4aa51 Fix test targets for some build trees
The old targets only worked if the build tree was below the source tree.
2012-10-24 22:11:05 +02:00
Juergen Spitzmueller
08375b191c update TODO 2012-10-24 20:21:09 +02:00
Georg Baum
ecf24f1cb5 Add xfig import test 2012-10-23 22:09:26 +02:00
Georg Baum
b8648dea16 Implement tex2lyx -m switch (bug #8393)
With this new command line switch a list of modules can be loaded
unconditionally. This seems to be needed for the literate programming formats,
and it is useful to work around bug #5702 as well.
2012-10-23 20:45:21 +02:00
Georg Baum
8c0c28e485 Update tex2lyx manpage
Add forgotten options and remove a commented paragraph that is no longer
needed since bug #5907 is closed as WONTFIX.
2012-10-22 21:31:26 +02:00
Kornel Benko
f7680c696d Cmake build:
Added dependencies to target `test'. Now all the needed executables
are recreated prior to running tests if not already existant.
2012-10-21 16:58:45 +02:00
Kornel Benko
ed5dfa9cd7 Cmake tests:
Add tests the cmake-way. Now there is only _one_ target `test'
2012-10-21 12:05:50 +02:00
Kornel Benko
1822a10639 Cmake build:
Supply the correct path to created executable (use ${CMAKE_CFG_INTDIR})
2012-10-20 15:27:30 +02:00
Georg Baum
fbabfdfa46 Add -skipchildren command line switch (bug #4435)
This allows to skip generated files, e.g. an alternative xfig export which
we do not understand, as mentioned in bug #4435.
2012-10-18 22:01:32 +02:00
Georg Baum
33c3e63f40 Forgot to remove obsolete comment 2012-10-18 20:57:03 +02:00
Georg Baum
75ba5d3db5 Add automatic color package loading for listings
The listings inset does automatically load the color package if any parameter
contains \color. As mentioned in bug #8066 tex2lyx needs to be aware of this,
so the \usepckage{color} is automatically skipped in these cases.
2012-10-18 20:41:23 +02:00
Kornel Benko
419f32df91 Cmake build:
Creating LYX_DATE dynamically at configure-time caused unwanted recompilation
of the whole directories (src + src/tex2lyx) because all the relevant objects
were dependent of a common file (flags.make in case of "Unix makefiles") which changed
accordingly.
There is now a new include (lyx_date.h, with only one definition)

Nothing changes for automake, since in this case LYX_DATE is defined in config.h
2012-10-15 22:50:39 +02:00
Kornel Benko
24206e2c67 Cmake build:
Partially revert 75d63ad1f2
It caused recompiling everything at each commit.
Now use definition of LYX_DATE only when compiling version.cpp
2012-10-15 13:16:08 +02:00
Georg Baum
53694874f3 Make tex2lyx tests almost compilable
If the original tests cannot ve compiled with latex/pdflatex/xelatex it is
difficult to compare the visual output.
2012-10-08 21:23:11 +02:00
Georg Baum
269a942294 Fix wrong parsing of \framebox[3in][s]{...}
s is a valid horizontal position for framebox (as well as for makebox, which
was already parsed correctly). There was even a test case, but with a wrong
reference.
2012-10-06 15:23:36 +02:00
Georg Baum
e119ba6094 Refine tex2lyx -copyfiles logic.
Now all files are copied if the resulting path is valid.
Before the regressions tests would fail depending on the build directory
location.
2012-10-06 13:55:25 +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
fce4f66718 Acknowledge additional \lang command 2012-10-05 23:58:16 +02:00
Georg Baum
c85228432c Update file format of test references 2012-10-05 23:50:28 +02:00
Georg Baum
87641e506e Fix typo 2012-10-05 23:44:21 +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
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
Georg Baum
5afe35cc59 Compile tex2lyx before running tests 2012-10-04 22:29:43 +02:00
Kornel Benko
66cb259a96 tex2lyx tests adapted to cmake build 2012-10-03 17:04:00 +02:00
Georg Baum
d56295bcdf Add make target to update tex2lyx test references
Now "make check" does not overwrite the test references anymore, use the
updatetests target instead. "make check" now also recognizes test failures.
2012-10-03 15:23:09 +02:00
Georg Baum
adcd2281af Add evaluation for tex2lyx regression tests 2012-10-03 15:01:54 +02:00
Georg Baum
133ceaf0d4 Support out of source tests in tex2lyx test runner 2012-10-03 13:59:20 +02:00
Georg Baum
24181cf28e Add -copyfiles command line option to tex2lyx
If this option is given, included files will be copied to the output directory.
Also -roundtrip is now allowed with given output file.
-copyfiles is useful if you want to ensure that no file (not even an included
one) is overwritten by a subsequent export from LyX. Both changes are needed
for unit tests that do not write to the source directory.
2012-10-03 13:23:27 +02:00
Georg Baum
ccd3ecf1e9 Fix tex2lyx path handling for relative file names
The input and output file names of tex2lyx may be relative. In this case,
getMasterFilePath() and getParentFilePath() return relative paths as well.
Now the file name translation logic for all kinds of included files can
cope with that.
2012-09-30 15:06:18 +02:00
Georg Baum
a08c693f90 Add test for Parser::getFullArg()
It shows that the special handling of a single backslash in the argument
(whcih is supposed to fix bug #4468) does not work.
2012-09-25 22:25:55 +02:00
Stephan Witt
273ebbef19 avoid deprecated functions on Mac - use Qt instead 2012-09-23 16:06:56 +02:00
Kornel Benko
ea76d6de95 Roundtrip tex2lyx, cmake-build:
1.) test.ltx, test.lyx.tex in build-dir (missed this one in previous commit)
2.) Added dependency to "lyx" to work on clean build dir too
2012-07-30 10:04:45 +02:00
Kornel Benko
6fa12b0971 Adapt tex2lyx roundtrip to cmake build.
Use build tree only.
2012-07-30 09:30:16 +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
Georg Baum
c3731b25da Fix tex2lyx -roundtrip for XeTeX documents 2012-07-08 21:35:40 +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
Georg Baum
840f6fda51 Don't stop testing after first error.
This was the reason why I forgot to update the last test file in the last
commit.
2012-07-08 20:52:26 +02:00
Georg Baum
45fd75fe96 Manually update test results to current format.
Now you can see the regressions without differences caused by real
fixes or file format updates.
2012-07-08 20:09:02 +02:00
Georg Baum
1c0bd0132c Add very simple tex2lyx regression test suite.
It is invoked by 'make check' (automake only, it would be nice if someone
could add it to cmake as well), or by calling

python src/tex2lyx/test/runtests.py <path to tex2lyx binary>

by hand. Currently, it does not compare the output (this comes later).
The added .lyx files are from tex2lyx around mid of april, so that you
can see the regressions of the current version if you run the test
yourself (simply run git diff afterwards).

The home made test runner is quite stupid, but better than nothing.
Feel free to improve it or replace it with something better, as long
as running it stays as simple as now.
2012-07-08 19:28:19 +02:00
Georg Baum
57a8ea32c0 Include the recently added test files in package 2012-07-08 18:12:26 +02:00
Uwe Stöhr
4e69b9bac5 tex2lyx/text.cpp: fix typos 2012-07-07 13:40:07 +02:00
Uwe Stöhr
fe5a4c8c81 tex2lyx: improve CJK handling
- tex2lyx/text.cpp:
 - fix bug that swallowed valid braces
 - the encoding is "Bg5" not "BIG5"
 - add and update comments

- CJK.tex: add an example for the Bg5 encoding
2012-07-07 13:37:26 +02:00
Uwe Stöhr
d8611f25f2 tex2lyx: remove some superfluous code
text.cpp: besides that eat_whitespace does nothing these calls would be wrong as whitespace is allowed as argument of the box commands
2012-07-06 23:35:33 +02:00
Uwe Stöhr
02b6586ad7 update a tex2lyx test file
box-color-size-space-align.tex:
 - add all possible math spaces
 - remove 2 invalid non-math spaces
2012-07-06 23:33:28 +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
Juergen Spitzmueller
555ae019b8 update tex2lyx TODO 2012-07-01 14:48:20 +02:00
Uwe Stöhr
56f0e0c4fc tex2lyx/Parser.cpp: refine \verb handling 2012-07-01 02:12:56 +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
85c479f4e7 test-structure.tex: add checks for \verb 2012-06-30 15:29:53 +02:00
Uwe Stöhr
708979fb0e tex2lyx: whitespace only 2012-06-30 03:38:02 +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
85ef627eac fix mistake in tex2lyx testfile
- XeTeX-polyglossia.tex: Hebrew is used in the file and so it must be declared
2012-06-30 02:21:15 +02:00
Uwe Stöhr
2c9310d935 tex2lyx: fix a typo
tex2lyx/text.cpp: the encoding must be _set_ here
2012-06-27 23:58:16 +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
d1800d4d5a tex2lyx: reprivatize another variable 2012-06-27 22:48:22 +02:00
Uwe Stöhr
b6192b7c7f texlyx: re-privatize a variable as suggested 2012-06-27 22:32:36 +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
Uwe Stöhr
d3bcdb24cc tex2lyx/text.cpp: fix bug #8223
LyX does not yet support \framebox without an option we therefore cannot use our parse_outer_box routine (this is only for supported boxes)
2012-06-25 22:58:21 +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
Jean-Marc Lasgouttes
2a13b02a94 Fix bug #8220: tex2lyx crashes on single-character commands
Fix commit [aa9fed93/lyxgit]: it is never a good idea to call substr(4) on a string without checking its length. Moreover, it is even better in this case to check that the first letters are "text" as the reminder of the code assumes...
2012-06-25 11:04:56 +02:00
Uwe Stöhr
66e3ac003f fix bug #8210
we need to store the document language from the beginning of the document in the context to be able to handle all kinds of language switch commands
2012-06-24 18:24:28 +02:00
Uwe Stöhr
8e7b5eebf0 update tex2lyx todo list
- Japanese is now supported as well as CJK
- also all XeTeX issues are now ironed out
- the support for ArmTeX has been dropped meanwhile
2012-06-24 18:20:19 +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
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
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
89b8f380cc tex2lyx/text.cpp: 2 typos 2012-06-23 05:20:39 +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
f1f63fcad0 tex2lyx/text.cpp: whitespace fix 2012-06-23 00:53:35 +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
79352b9882 tex2lyx/XeTeX-polyglossia.tex: add a further test 2012-06-22 15:40:40 +02:00
Uwe Stöhr
46051b57ae XeTeX-polyglossia.tex: add missing \setotherlanguages 2012-06-22 04:43:33 +02:00
Uwe Stöhr
e8f4ce5726 tex2lyx/text.cpp: \lang is already handled by parse_text 2012-06-22 04:41:08 +02:00
Uwe Stöhr
aa9fed9322 - tex2lyx/text.cpp:
- bugfix for the parsing of polyglossia's paragraph environments
 - new support for polyglossia's language change commands \textxxx
- XeTeX-polyglossia.tex: add more testcases and add a missing \end
2012-06-22 03:41:00 +02:00
Uwe Stöhr
dda1bfc949 tex2lyx/table.cpp: please Vincent as discussed 2012-06-21 13:14:16 +02:00
Uwe Stöhr
c00fd8f8be tex2lyx/table.cpp: fix bug #8204, also OK for branch or too late? 2012-06-20 23:24:35 +02:00
Uwe Stöhr
2872f35a51 - FORMAT: document latest change
- tex2lyx/text.cpp: fix a comment
2012-06-08 02:42:22 +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
Richard Heck
ead697d4b6 Deal with memory issue reported some time ago in connection with DocumentClass
objects. The problem that led to the leak is that these objects can be held in
memory long after the Buffer that created them is gone, mostly due to their
use in the CutStack. So they were previously held in a storage facility, the
DocumentClassBundle. Unfortunately, they were now being created too often,
especially by cloning. It's not really a leak, because they're accessible, but
we weren't ever destroying them.

This new approach uses a shared_ptr instead.

Thanks to Vincent for pointing out const_pointer_cast.
2012-05-31 12:34:29 -04:00
Richard Heck
c1e3d795f6 A few more small optimizations noted along the way. 2012-05-28 18:21:22 -04: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
de00ce40aa Forgot the test case for bug #8116. 2012-05-13 18:54:14 +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
cd691081b4 Import table cells in turn environment.
This is a part of bug #8081: Translate cells in
\begin{turn}{number}...\end{turn} to native syntax.
2012-05-06 19:12:51 +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
c9f68139cb Do not swallow math comments in tex2lyx.
This is not needed, since LyX supports comments in math. Data loss with math
comments containing a backslash in LyX has been fixed as well.
The test case was found in bug #8104.
2012-05-06 16:48:44 +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
27733452f7 Native support for \lstlistoflistings 2012-04-16 21:40:59 +02:00
Georg Baum
d88f7727e9 Fix tex2lyx table output.
It is broken since the latest file format update (neither did Uwe run a test
after updating the file format, nor did I after undoing my accidental change).
The reason it was broken: the bool version of write_attribute() is chosen
for "0" instead of the string version, so each table used rotate="true".
2012-03-25 18:46:00 +02:00