Commit Graph

81 Commits

Author SHA1 Message Date
Julien Rioux
9dd1b7c578 Use the LyX name of encodings instead of the LaTeX names.
- Use the LyX name of encodings instead of the LaTeX names.
  The LyX name must be unique, while the name used by LaTeX
  not necessarily, e.g. different packages might implement
  support for the same encoding.

- Rename koi8 to koi8-r, so that the LyX and LaTeX names match.

- Rename euc-jp-plain to euc-jp-platex, jis-plain to jis-platex
  and shift-jis-plain to shift-jis-platex.

- Add utf8-platex encoding (fixes #8408).

LyX file format incremented to 463.
2013-02-18 23:52:42 +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
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
Jean-Marc Lasgouttes
f775add258 Whitespace only 2012-12-14 12:33:39 +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
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
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
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
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
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
c3731b25da Fix tex2lyx -roundtrip for XeTeX documents 2012-07-08 21:35:40 +02:00
Uwe Stöhr
d1800d4d5a tex2lyx: reprivatize another variable 2012-06-27 22:48:22 +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
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
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
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
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
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
a1cef2d55a Fix bug #3036: font changes inside \markright do not escape outside their scope
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@40186 a592a061-630c-0410-9148-cb99ea01b6c8
2011-11-13 16:11:45 +00:00
Georg Baum
8d707723b7 Fix bug #7668 (cosmetic whitespace issues)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@40184 a592a061-630c-0410-9148-cb99ea01b6c8
2011-11-13 11:29:48 +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
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
Georg Baum
b62d8f2c6a Tie file formats of LyX and tex2lyx, since there are implicit depencies anyway.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@39936 a592a061-630c-0410-9148-cb99ea01b6c8
2011-10-23 10:29:21 +00:00
Abdelrazak Younes
27f3327fa1 tex2lyx: disambiguate duplicate trim() function by reusing trim() from src/support.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@39870 a592a061-630c-0410-9148-cb99ea01b6c8
2011-10-16 08:22:20 +00:00
Julien Rioux
23ab7f0819 tex2lyx : Also allow -h and -v command-line options, manpage update.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@39807 a592a061-630c-0410-9148-cb99ea01b6c8
2011-10-06 16:21:58 +00:00
Julien Rioux
18f79eeddc tex2lyx : More descriptive --help message and implement --version (#6827).
The init_package before easyParse is necessary to initiate the default
values for userdir and sysdir, which are now part of the help message.
This step would be necessary anyway if we ever internationalize tex2lyx.

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@39799 a592a061-630c-0410-9148-cb99ea01b6c8
2011-10-03 17:47:37 +00:00
Peter Kümmel
1af61e659c run in-place: don't speculate where the lyx binary is, search for it at the common places
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@38753 a592a061-630c-0410-9148-cb99ea01b6c8
2011-05-14 12:26:11 +00:00
Georg Baum
12f8e7a6f9 Small improvement for bug #7509 as suggested by JMarc
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@38628 a592a061-630c-0410-9148-cb99ea01b6c8
2011-05-08 08:23:42 +00:00
Peter Kümmel
1bd35e75f7 just to be sure: don't know if other compilers mangle the access
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@38093 a592a061-630c-0410-9148-cb99ea01b6c8
2011-03-28 07:10:40 +00:00
Peter Kümmel
2874889b9b fix msvc linker error: for the linker struct and class isn't the same here
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@38092 a592a061-630c-0410-9148-cb99ea01b6c8
2011-03-28 07:06:20 +00:00
Enrico Forestieri
a99340cd10 Infrastructure for choosing different icon sets. This currently works
through the rc setting \icon_set. Preferences dialog will follow shortly.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@38038 a592a061-630c-0410-9148-cb99ea01b6c8
2011-03-25 01:59:34 +00:00
Enrico Forestieri
d866717ef7 Integrate texrow with otexstream in order to perform automatic line
counting when exporting to latex. This is done for the code comprised
between \begin{document} and \end{document}, while the preamble code
still needs manual calls to TexRow::newline() for registering new lines.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@37584 a592a061-630c-0410-9148-cb99ea01b6c8
2011-02-10 20:02:48 +00:00
Georg Baum
d3c385de20 Next step towards a working roundtrip of files generated by LyX:
Try to recognize modules.
Again, this is needed because the complete LyX preamble is ignored.
It is not possible to recognize a module in all cases, but at least the simple
ones are handled now. As a prerequisite I also had to revive the filling of
known_environments. This has been removed (probably by accident) some time ago.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@37306 a592a061-630c-0410-9148-cb99ea01b6c8
2011-01-23 21:10:20 +00:00
Georg Baum
90f795a29e Add -roundtrip argument to tex2lyx for tex->lyx->tex roundtrip testing.
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
2010-12-30 20:29:33 +00:00
Georg Baum
84be0a0db4 fix parsing of \let: tex2lyx must not enclose the arguments with {}.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@37016 a592a061-630c-0410-9148-cb99ea01b6c8
2010-12-27 20:15:24 +00:00
Pavel Sanda
62ca7f3ae5 Proper camel case for FileName.absFilename
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@34234 a592a061-630c-0410-9148-cb99ea01b6c8
2010-04-21 01:19:09 +00:00
Richard Heck
dcc7497bde Fix crash reported by Bennett. We could try to catch these exceptions
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
2010-04-17 22:36:31 +00:00
Richard Heck
29c93f87e6 Make these const, too. I mean, why not?
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@33934 a592a061-630c-0410-9148-cb99ea01b6c8
2010-03-29 21:31:17 +00:00
Enrico Forestieri
0f8929d5d1 Fix command line parsing and allow unicode arguments for tex2lyx on Windows.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@33723 a592a061-630c-0410-9148-cb99ea01b6c8
2010-03-12 01:18:39 +00:00
Enrico Forestieri
51d70699ef Fix bug #5525: Windows XP doesn't shut down with LyX open
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@33077 a592a061-630c-0410-9148-cb99ea01b6c8
2010-01-17 23:01:48 +00:00
Enrico Forestieri
0695afbc55 Don't rely on the signal delivered by raise(), as this may cause a bogus
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
2009-08-14 13:19:02 +00:00
Jean-Marc Lasgouttes
d9e4ced1d4 Remove dummy gettext.cpp from tex2lyx source and use a dummy message
object instead.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@30505 a592a061-630c-0410-9148-cb99ea01b6c8
2009-07-12 14:49:30 +00:00
Jean-Marc Lasgouttes
2e45185cd5 improve tex2lyx Usage display (on error...); describe option -e on man page; remove non-implemented -p and -r options
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@29346 a592a061-630c-0410-9148-cb99ea01b6c8
2009-04-19 22:13:43 +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