It is dangerous (i.e., foolish) to rely upon assumptions about exactly
how many lines there will be between one structure and another structure
in a LyX file. No such things should be hardcoded into lyx2lyx. You must
ALWAYS search for what you want, e.g., the beginning of the layout in
which some particular inset is contained.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@35998 a592a061-630c-0410-9148-cb99ea01b6c8
for formatted references. Fixes#2295, in so far as it makes it possible
to translate formatted references.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@35623 a592a061-630c-0410-9148-cb99ea01b6c8
but not with all. There's a general problem here that will take more work.
I've got most of it licked, but the lyx2lyx issue is difficult.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@35495 a592a061-630c-0410-9148-cb99ea01b6c8
- Avoid processing lines of a note inset, as we are going to discard them
- Translate the horizontal space inset
- Correct translation of \backslash
- Correct translation of ^ (\^ is an accent in latex)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@34799 a592a061-630c-0410-9148-cb99ea01b6c8
Some later LyX version might omit defaults without lyx2lyx to replace them.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@34787 a592a061-630c-0410-9148-cb99ea01b6c8
or a string as input, and does the right thing either way. Previously,
when it saw a string "test" it would convert it to "t\ne\ns\nt", since
it was quite happy to call join() on the string.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@34785 a592a061-630c-0410-9148-cb99ea01b6c8
- add routine to revert command environments specified in layout files
- finish routine for the new IEEEtran layout file (part 2/2)
(very nasty but the only working solution)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@34774 a592a061-630c-0410-9148-cb99ea01b6c8
- add routine to revert character styles
- revert character styles to TeX code instead of deleting them - fixes#6803
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@34754 a592a061-630c-0410-9148-cb99ea01b6c8
- add routine to revert flex insets to TeX code
- add routine for the new IEEEtran layout file (part 1/2)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@34753 a592a061-630c-0410-9148-cb99ea01b6c8
- new buffer parameter \boxbgcolor
(I'm still working on the remaining issue #6626 as this affect not only this feature.)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@34083 a592a061-630c-0410-9148-cb99ea01b6c8
- new buffer parameter \fontcolor
- the default color is internally black because we have to set a color
- the font color is only used when the user explicitly specified a color
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@34042 a592a061-630c-0410-9148-cb99ea01b6c8
- support to change the greyed-out note font color (fixes#3865)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@33962 a592a061-630c-0410-9148-cb99ea01b6c8
Vincent, can you check (again) that I didn't break this wiht an off by
one error or something?
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@33916 a592a061-630c-0410-9148-cb99ea01b6c8
Even if this doesn't get used in 2.0, we'll at least have it for later.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@33915 a592a061-630c-0410-9148-cb99ea01b6c8
I think it will be worth implementing a version of pure HTML output, for
some uses, a la eLyXer.
Note that at present none of this does anything, and there is no UI to
set it. I just want to make sure it's in the file format, in case I do
not get to this before 2.0.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@33794 a592a061-630c-0410-9148-cb99ea01b6c8
- fix the "revert_tabularvalign" routine (avoid endless loop when a cell contains ERT)
- add a command in routine "revert_nomencl_cwidth"
- routine to revert multirow table cells
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@33419 a592a061-630c-0410-9148-cb99ea01b6c8
- fileformat change (lyx2lyx code follows the next days)
- the patch is a joint work of Edwin and me
The patch is huge but the major parts work already. I put it in now as the minor known issues can be solved step by step the next days. I think this is the best solution because collaborating with such large patches already lead to copy/paste bugs.
The known issues are listed here:
http://wiki.lyx.org/Devel/Multirow
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@33414 a592a061-630c-0410-9148-cb99ea01b6c8
page numbering and the references of the master file are maintained in the included children (bug 1005).
I made this optional since some people use \includeonly to save compilation time, but a proper aux file update
needs a full compilation of the complete master prior to the compilation of the \includeonly master.
Hence, a new buffer param is introduced (file format change).
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@32936 a592a061-630c-0410-9148-cb99ea01b6c8
These are not actually implemented yet, but I wanted to make sure to get
them into the format now, so even if I can't implement them before the
1.7 release, I can do so during the release cycle, without a format
change. I don't expect that to happen, but you never know....
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@32683 a592a061-630c-0410-9148-cb99ea01b6c8
The German layouts are replaced by the English ones.
German localization is now done as it is supposed to be: via gettext.
A file format change was needed to do this.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@32406 a592a061-630c-0410-9148-cb99ea01b6c8
The fileformat change is also needed because of our mistake that we load mhchem since LyX 1.6.4 automatically so that files created with LyX 1.6.4 won't compile under LyX 1.6.3. Now at least all files created or opened with LyX 1.7 can be reverted to the fileformat of LyX 1.6.x and can therefore be read by all LyX 1.6.x versions.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@31941 a592a061-630c-0410-9148-cb99ea01b6c8
* OutputParams.{cpp,h}:
- new param inIndexEntry
* InsetIndex.cpp (latex):
- set param.
* InsetErt.cpp (plainText):
- output active chars in IndexInsets
* lib/lyx2lyx/lyx_1_6.py:
- embrace "|" in ERT when converting old index entries to collapsables.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@31360 a592a061-630c-0410-9148-cb99ea01b6c8
This patch makes sure that there are minimal changes when loading and saving a file with change tracking.
- the authors are assigned a buffer_id, such that when the file is saved, they get the same id,
- the authorlist is sorted according to the buffer_id,
- the buffer_id is written to the file in the author list (file format change)
- the ids start with 1, because 0 is internally reserved for the current Author,
- when writing the file, the current author is assigned an id if he didn't already have it.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@30756 a592a061-630c-0410-9148-cb99ea01b6c8
- fix bug where a \hspace*{} was not reverted if it was followed by a \hspace{}.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@30737 a592a061-630c-0410-9148-cb99ea01b6c8
- GUI support for table alignment
(all comments to the polished layout of the table dialog welcome)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@30477 a592a061-630c-0410-9148-cb99ea01b6c8
No automatic width calculation is done for old documents, because these might rely on settings in
nomencl.cfg.
A GUI to alter this is needed.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@29775 a592a061-630c-0410-9148-cb99ea01b6c8
- Fix reversion of aligned tables in subfloats to LyX 1.5 (bug 5918).
- Fix reversion of info insets with a backslash to LyX 1.5.
- Fix unicode characters > LaTeX macro reversion to LyX 1.5.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@29421 a592a061-630c-0410-9148-cb99ea01b6c8
- (convert_latexcommand_index): do not stop if a print_index inset is found,
but just skip this inset and proceed. There might be index insets after this (bug 5713).
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@28273 a592a061-630c-0410-9148-cb99ea01b6c8
Babel doesn't support this variant (yet), so we use ngerman. However, for spell checking and thesaurus, this makes
a difference.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@27725 a592a061-630c-0410-9148-cb99ea01b6c8
* Fix lyx2lyx default debug level
* Fix lyx2lyx verbose mode
* Use stderr consistently
* Update default version when running from src directory
* Output prettier and more useful information
* Allow to specify the target version, the format will be accordingly
* Have a more reliable chain of dependencies (fixes corner cases < 2.15)
* Add placeholder for future file format changes
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@27506 a592a061-630c-0410-9148-cb99ea01b6c8
- another bug manifesting in the UG reversion: \slash and \nobreakdash can also occur
in the middle of a line.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@27394 a592a061-630c-0410-9148-cb99ea01b6c8
** fix bug 5343 (patch from Richard, prerequisite for the other fix)
* Buffer.cpp:
- increment format to 343
* src/BufferParams.{cpp,h}:
- new param \use_default_options that allows to select/deselect
the "Other" class options defined in the layout file.
* src/frontends/qt4/GuiDocument.cpp:
* src/frontends/qt4/ui/LaTeXUi.ui:
- add GUI to set \use_default_options, display predefined options in the dialog
- update dialog correctly on class change.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@26860 a592a061-630c-0410-9148-cb99ea01b6c8
We had been assuming too much about the format. Reference.lyx violated it, maybe because it is so old. But anyway, this is a bit more reliable.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@26068 a592a061-630c-0410-9148-cb99ea01b6c8
the initial backslash in a LaTeX command is escaped, which it is not in a subfigure.
Note that we are NOT converting labels here into InsetLabel objects. That would not be
all that hard to do. I've put a comment in about how we could do that. It would be fairly
easy to do.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@25581 a592a061-630c-0410-9148-cb99ea01b6c8
People should welcome to add more conversions, if they seem necessary.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@25543 a592a061-630c-0410-9148-cb99ea01b6c8
- the display combo in the prefs, external and graphics dialogs are gone
- the lyxrc display_graphics option now overrides any local inset display option
- The external template format has a new tag: Preview
- format incremented to 337
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@25245 a592a061-630c-0410-9148-cb99ea01b6c8
Well, here it is. Fixes one part of bug 4927. There's a remaining problem on conversion of onld subfigs with LaTeX content (e.g. \label). I'll fix that in a second step.
There's
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@25148 a592a061-630c-0410-9148-cb99ea01b6c8
The problem here is that
for i in range(len(document.body)):
sets the range BEFORE we do any of our manipulations. But those manipulations
can make document.body longer. As a result, we can fail to test some lines.
Instead, use:
while i < len(document.body):
and increment i in the while loop.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@25050 a592a061-630c-0410-9148-cb99ea01b6c8
Note that this is a mechanical fix. Someone should check that it works.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@25034 a592a061-630c-0410-9148-cb99ea01b6c8
If this is wrong, someone revert it. But I think it must be right.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@25033 a592a061-630c-0410-9148-cb99ea01b6c8
file has been changed to "space" to match the identifier used for the inset in
Inset.cpp and for the dialog in GuiView.cpp.
In future, we will want to get a similar uniformity elsewhere: The identifier
used in the LyX file should match the one used as inset identifier. The easy
way to do this, in the code, is to have insets write themselves this way:
os << insetName(lyxCode()) << " ";
rather than at present:
os << "space ";
Similar things could then happen elsewhere. E.g., if the dialog names are in
sync with the inset names, then we could do something like:
hideDialogs(insetName(lyxCode()), this);
rather than
hideDialogs("space", this);
and perhaps even put that into the Inset destructor rather than have specific
versions in each inset---with a test for whether there is such a dialog, of
course.
But this is all for later.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@25016 a592a061-630c-0410-9148-cb99ea01b6c8
- more work on InsetIndex reversion. Now InsetSpecialChar and font switches are
handled (within limits)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@24716 a592a061-630c-0410-9148-cb99ea01b6c8
- more work on InsetIndex reversion. Still lots left to do.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@24711 a592a061-630c-0410-9148-cb99ea01b6c8
- partial fix of bug 4838 (reversion of new index inset to 1.5)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@24697 a592a061-630c-0410-9148-cb99ea01b6c8
- Use styleguide-conforming headings in the APA layout (bug 4827).
* src/Buffer.cpp:
- file format change to 333.
* lib/lyx2lyx/lyx_1_6.py:
- convert obsoleted layouts.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@24694 a592a061-630c-0410-9148-cb99ea01b6c8
- GuiGraphics dialog field for setup new groups.
- Graphics context menu for assigning to certain group.
- Fileformat change for groupId field in Graphics inset.
- Undo mechanism added to inset-apply, for catching changes
in preference dialog.
- Qt designer 4.4 used now.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@24644 a592a061-630c-0410-9148-cb99ea01b6c8
file format change.
This is the last feature for today. Promised.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@24540 a592a061-630c-0410-9148-cb99ea01b6c8
add a conversion routine for the PDF options, fixes http://bugzilla.lyx.org/show_bug.cgi?id=4612
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@24245 a592a061-630c-0410-9148-cb99ea01b6c8
- put in a reversion for the embed tag of InsetExternal as close as possible to the
actual change. This fixes the reversion of documents with external insets to 1.5,
but still leaves a range of invalid file formats.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@24239 a592a061-630c-0410-9148-cb99ea01b6c8
Provide only one Japanese language that is encoding independent, patch partly by Koji Yokata.
This fixes http://bugzilla.lyx.org/show_bug.cgi?id=4597
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@24053 a592a061-630c-0410-9148-cb99ea01b6c8
* src/Buffer.cpp:
- file format change to 324
* development/FORMAT:
- document file format change
* src/insets/InsetNewline.{cpp,h}:
- the former two separate derivates are now merged into one inset
with proper Params and Mailer. This simplifies the structure and allows for
switching between the two kinds.
* src/Text3.cpp:
- The newline insets are now being generated with
newline-insert [newline|linebreak]
* src/factory.cpp:
* src/Text.cpp:
- Newline inset is now a proper inset with opening and closing tag.
* src/FuncCode.h:
* src/LyXAction.cpp:
* src/Text3.cpp:
* src/insets/InsetCollapsable.cpp:
* src/insets/InsetTabular.cpp:
* src/mathed/InsetMathGrid.cpp:
* src/mathed/InsetMathHull.cpp:
- remove LFUN_NEW_LINE, LFUN_LINE_BREAK,
add LFUN_NEWLINE_INSERT
* lib/lyx2lyx/LyX.py:
* lib/lyx2lyx/lyx_1_6.py:
- conversion and reversion routines for newline insets.
* lib/ui/stdmenus.inc:
* lib/ui/stdcontext.inc
- adapt menu and add context menu to switch between newpage variants.
* lib/bind/*.bind:
- adapt to new lfuns.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@23966 a592a061-630c-0410-9148-cb99ea01b6c8
* src/Buffer.cpp:
- file format change to 323
* development/FORMAT:
- document file format change
* src/insets/InsetNewpage.cpp:
- the former four separate derivates are now merged into one inset
with proper Params and Mailer. This simplifies the structure and allows for
switching between the various kinds.
* factory.cpp:
- The newpage insets are now being generated with
newpage-insert [newpage|pagebreak|clearpage|cleardoublepage]
* src/Text.cpp:
- Newpage inset is now a proper inset with opening and closing tag.
* src/FuncCode.h:
* src/LyXAction.cpp:
* src/Text3.cpp:
* src/insets/InsetCollapsable.cpp:
- remove LFUN_PAGEBREAK_INSERT, LFUN_CLEARPAGE_INSERT
and LFUN_CLEARDOUBLEPAGE_INSERT
* lib/lyx2lyx/LyX.py:
* lib/lyx2lyx/lyx_1_6.py:
- conversion and reversion routines for newpage insets.
* lib/ui/stdmenus.inc:
- adapt menu and add context menu to switch between newpage variants.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@23942 a592a061-630c-0410-9148-cb99ea01b6c8
- gets rid of the M_TOGGLE_LINE_... functions
- allows arbitrary clines without multicol
- sets arbitrary vertical lines through multicol
- drop row/col line properties, everything is now stored at the cell level
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@23812 a592a061-630c-0410-9148-cb99ea01b6c8
- fix error in convert_subfig triggered by the User Guide.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@23792 a592a061-630c-0410-9148-cb99ea01b6c8
LyX file format to 318. The Embedded files panel of document settings has
been simplied, with working add and remove buttons. Note that bease BufferParams
lacks buffer path information, extraEmbeddedFiles are vector<string>, instead
of EmbeddedFileList (as previously planned).
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@23606 a592a061-630c-0410-9148-cb99ea01b6c8
- implement wrapper around normalize that handles specific cases
that must not be normalized (rest of bug 3313).
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@23227 a592a061-630c-0410-9148-cb99ea01b6c8
- file format change
- new example files and an example address database
- remove ugly hack from scrlttr2.layout and fix bug 4529
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22764 a592a061-630c-0410-9148-cb99ea01b6c8
The changes that accomplish this part are in ModuleList.{h,cpp}, configure.py, and the *.module files themselves. This is a format change, and the lyx2lyx is in those files.
By itself, that change would not be major, except for the fact that we do not want the module to be represented in the UI by its filename---e.g., theorems-std---but rather by a descriptive name, such as "Theorems". But that change turns out to be wholly non-trivial. The mechanism for choosing modules was the same as---indeed, was borrowed from---that in GuiCitation: You get a list of modules, and choosing them involves moving strings from one QListView to another. The models underlying these views are just QStringListModels, which means that, when you want to know what modules have been selected, you see what strings are in the "selected" QListView. But these are just the descriptive names, and we can't look up a module by its descriptive name if it's been translated. That, indeed, was the whole point of the change to the new representation.
So, we need a more complicated model underlying the QListView, one that will pair an identifying string---the filename minus the extension, in this case---with each item. This turns out not to be terribly difficult, though it took rather a while for me to understand why it's not difficult. There are two parts:
(i) GuiSelectionManger gets re-written to use any QAbstractListModel, not just a QStringListModel. This actually seems to improve the code, independently.
(ii) We then subclass QAbstractListModel to get the associated ID string, using the Qt::UserRole slot associated with each item to store its ID. This would be almost completely trivial if QAbstractListItem::itemData() included the QVariant associated with this role, but it doesn't, so there are some additional hoops through which to jump.
The new model, a GuiIdListModel, is defined in the files by that name. The changes in GuiSelectionManger.{h,cpp} make it more abstract; the changes in GuiDocument.{h,cpp} adapt it to the new framework.
I've also updated the module documenation to accord with this change.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22501 a592a061-630c-0410-9148-cb99ea01b6c8
- fileformat change
(Interlingua was the last missing language supported by babel)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@21976 a592a061-630c-0410-9148-cb99ea01b6c8
- fileformat change
(I wonder why support for them was removed (must be before LyX 1.3), because the old reLyX script listed them as supported)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@21783 a592a061-630c-0410-9148-cb99ea01b6c8
- fileformat change
- tex2lyx support
- rename LFUN_BREAK_LINE to LFUN_NEW_LINE because this is what the lfun does and to avoid confusions
- new menu entry
- new shortcut C-S-Return
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@21778 a592a061-630c-0410-9148-cb99ea01b6c8
- rename former "pagebreak" to "newpage" since it produces a \newpage
- new LFUN
- menu entry
- tex2lyx support
- fileformat change
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@21732 a592a061-630c-0410-9148-cb99ea01b6c8
- add support for hyerlink targets - fileformat changed
(For Hyperlink.cpp I still need help to get rid of the strings and chars and use docstrings and char_type instead!)
Can anyone please open the changed Hyperlink.ui with a Qt 4.2 designer or below, save it and commit? Thanks. (Otherwise you cannot compile it.)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@21347 a592a061-630c-0410-9148-cb99ea01b6c8
(previous fileformat change to 296 by Richard is not yet described in FORMAT)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@21302 a592a061-630c-0410-9148-cb99ea01b6c8
- rename the lfun to href-insert.png
- rename the files to Hyperlink...
- the former URLUi produces now \href commands (hyperref)
Only missing thing is the lyx2lyx conversion routine - this will be done by Richard
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@20950 a592a061-630c-0410-9148-cb99ea01b6c8
(i) The file format is changed, so that command insets are represented as:
\begin_inset CommandInset insetype
LatexCommand command
...
\end_inset
This involves some lyx2lyx and changes to the readInset() routine in factory.cpp
(ii) The InsetCommand and InsetCommandParams classes also have to be changed, as the command name was used in these classes for various purposes for which the inset type ought really to be used.
Further clean-up to come.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@20544 a592a061-630c-0410-9148-cb99ea01b6c8
(besides this, note that the fileformat change to 285 is not yet documented in FORMAT)
- lyx2lyx/lyx_1_6.py: fix routine to revert the PDF-support stuff
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@20448 a592a061-630c-0410-9148-cb99ea01b6c8
is kept in sync with its usage)
LyX.py: make source more readable, place whitespaces, break long
lines, add documentation strings, etc.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@20279 a592a061-630c-0410-9148-cb99ea01b6c8
- Format incremented to 284
- LaTeX-package wrapfig is now used instead of flotflt for wrap floats (this allows us to implement now also a table wrap float)
(the optional overhang argument of wrapfig will be implemented later)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@20185 a592a061-630c-0410-9148-cb99ea01b6c8
Design goal: Allow the use of layout "modules", which are to LaTeX packages as layout files are to LaTeX document classes. Thus, one could have a module that defined certain character styles, environments, commands, or what have you, and include it in various documents, each of which uses a different document class, without having to modify the layout files themselves. For example, a theorems.module could be used with article.layout to provide support for theorem-type environments, without having to modify article.layout itself, and the same module could be used with book.layout, etc.
This patch adds the backend. The ModuleList class holds a list of the available modules, which are retrieved from lyxmodules.lst, itself generated by configure.py. There are two LFUNs available: modules-clear and module-add, which do the obvious thing; you can test by typing these into the minibuffer, along with the name of one of the available modules: URL (a CharStyle), Endnote (a Custom Inset), and---with the spaces---End To Foot (View>LaTeX and look at the user preamble), which are themselves in lib/layouts. There are some others, too, that allow theorems to be added to classes like article and book.
The GUI will come next.
Issues: (i) The configure.py script could be improved. It'd be nice, for example, if it tested for the presence of the LaTeX packages a particular module needs. But this would mean re-working the LaTeX script, and I don't know how to do that. Note that at present, the packages are ignored. This will change shortly. (ii) I've used std::string in LyXModule, following what seemed to be a precedent in TextClass. If some of these should be docstrings, please let me know, and I'll change them. (iii) There is at present no distinction between LaTeX and DocBook modules. Should there be? That is: Should there be modules that are available when the document class is a LaTeX class and others that are available only when it is DocBook? Or should there just be one set of modules? Each module can of course indicate for what it is suitable in its description.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19893 a592a061-630c-0410-9148-cb99ea01b6c8
(multi-encoding -> utf8); specifically, the language was being
incorrectly identified in certain insets, which of course led to
encoding problems.
This fixes part of bug 3613 (http://bugzilla.lyx.org/show_bug.cgi?id=3613).
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19151 a592a061-630c-0410-9148-cb99ea01b6c8
* src/support/docstring.{cpp,h}:
- rename normalize_kc to normalize_c and use normalization form C (instead of KC)
* src/callback.cpp:
* src/Trans.cpp:
* src/frontends/qt4/GuiClipboard.cpp:
* src/frontends/qt4/GuiSelection.cpp:
* lib/lyx2lyx/lyx_1_5.py:
- use normalization forms C and D instead of KC and KD.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18991 a592a061-630c-0410-9148-cb99ea01b6c8
- Split the language Arabic into "arabic_arabi" that uses the arabi-package and "arabic-arabtex" that uses the arabTeX-package to typeset Arabic. This is needed because both packages have some advantages over the other people need.
(This change is a consequence of a long and fruitful discussion with Mostafa, Dov, and me.)
Patch by Dov and me.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18887 a592a061-630c-0410-9148-cb99ea01b6c8
language to be in the paragraph's language. This is necessary due to format
change 259, but the language was forgotten in lyx2lyx back then. It's important
for Bidi documents.
(fixes bug http://bugzilla.lyx.org/show_bug.cgi?id=3789)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18766 a592a061-630c-0410-9148-cb99ea01b6c8
Introduces new encodings for the CJK-languages.
The CJK-languages can now be selected from LyX's menu.
For remaining small problems, see the thread "Help needed for bug 3043" on the devel-list.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18216 a592a061-630c-0410-9148-cb99ea01b6c8
- add new encoding utf8-plain for the sake of XeTeX users (bug 3526)
* src/BufferParams.cpp:
- implement new encoding (skip inputenc)
- fix logic error with thailatex
* src/Buffer.cpp:
* lib/lyx2lyx/LyX.py:
* lib/lyx2lyx/lyx_1_5.pyx:
* development/FORMAT:
- format increment to 267
- reset encoding to utf8 on reversion.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18198 a592a061-630c-0410-9148-cb99ea01b6c8
* lib/lyx2lyx/lyx_1_5.py
(convert_multiencoding): Don't get confused by too many \end_layout
tokens.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17673 a592a061-630c-0410-9148-cb99ea01b6c8
(convert_ert_paragraphs): Fix off-by-one error that causes an out of
range error in find_token
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17271 a592a061-630c-0410-9148-cb99ea01b6c8
(normalize_font_whitespace): Fix handling of nested font changes
and also handle blanks before a font change
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17158 a592a061-630c-0410-9148-cb99ea01b6c8
The function convert_accent will be used when we get rid of InsetLatexAccent.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17017 a592a061-630c-0410-9148-cb99ea01b6c8
Uwe, please add an exact decsription of the lyxline changes to
development/FORMAT: How did the old version work, and what are the changes
of the new one.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16991 a592a061-630c-0410-9148-cb99ea01b6c8
* buffer.C: increase LyX format to 257.
* lyxtextclass.C: increase FORMAT format to 3.
* buffer_funcs.C:
- setCaptionLabels(): new recursive function
- setCaptions(): new function
- updateLabels(): call setCaptions() for each paragraph.
* InsetCaption:
- add a virtual destructor
- overload InsetText' getStatus() and wide().
- setLabel(): only set the new private member label_.
- metrics(): don't set label here and correct for title metrics.
- draw(): don't set label here
- latex(): fix optional argument.
- plaintext(): implement!
* InsetText:
- add a virtual destructor
- add virtual to getStatus() and wide().
* output_latex.[Ch]: move latexOptArgInsets() out of anon namespace.
* text3.C: enable LFUN_CAPTION_INSERT
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16948 a592a061-630c-0410-9148-cb99ea01b6c8
\inputencoding default
* src/paragraph_pimpl.C
(isEncoding): Explain why bparams.inputenc == "default" is ignored
* src/bufferparams.C
(BufferParams::encoding): Determine the encoding from the language
for inputenc == "default"
* src/buffer.h
(writeLaTeXSource): Mention inputenc == "default" in documentation
* src/bufferparams.h
(inputenc): Update documentation of "default"
* src/output_latex.C
(switchEncoding): Switch the encoding also for inputenc == "default",
but don't output \inputencoding commands in that case
* lib/lyx2lyx/LyX.py
(get_encoding): Determine the encoding from the language for
inputencoding == "default"
* lib/lyx2lyx/lyx_1_5.py
(convert_multiencoding): ditto
* development/FORMAT: Update documentation of \inputencoding default
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16667 a592a061-630c-0410-9148-cb99ea01b6c8
encodings in the preferences dialog
* src/LaTeXFeatures.C: special treatment for tis620-0 encoding
* src/bufferparams.C: ditto
* src/output_latex.C: ditto
* src/encoding.[Ch]: Add the possibility to iterate over all encodings
* src/paragraph_pimpl.C: Add latin10 and cp858 to Euro treatment
* src/buffer.C: Update format number
* src/frontends/qt4/QDocumentDialog.C: Don't hardcode available
encodings
* lib/lyx2lyx/LyX.py,
lib/lyx2lyx/lyx_1_5.py: implement conversion from 256 to 255
* lib/encodings: Add some encodings, fix all "unknown" entries
* development/FORMAT: Document file format change
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16418 a592a061-630c-0410-9148-cb99ea01b6c8
codepoint > 255.
I decided that this is no file format change: We already had the change to
format 249 that allowed unicode in .lyx files. The output to .tex of
non-ascii characters is now different than before (even for those that were
supported previously, e.g. german umlauts in latin1), but this is only
relevant if people referenced a label in ERT. Since we cannot detect this
anyway we don't need a file format change.
* src/support/lstrings.C
(escape): Extend the escaping algorithm from 8 bit to 24 bit.
* src/support/lstrings.h
(escape): Update comment
* lib/lyx2lyx/lyx_1_4.py
(lyx_support_escape): Update comment
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15883 a592a061-630c-0410-9148-cb99ea01b6c8
Now we can parse all commands that could be parsed in the old
InsetCommandParams
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15551 a592a061-630c-0410-9148-cb99ea01b6c8
* src/insets/insetcommandparams.[Ch]:
(operator[]): New, access a parameter
(clear): New, clear all parameters
(info_): New, stire info about this command
(cmdname): Rename to name_
(contents, options, sec_options): Replace with params_. Parameters
are now stored as docstring.
(findInfo): New factor for command info for all commands
(read, write): Use new syntax
(parameter set and get methods): reimplemenmt for new parameter storage
* src/insets/insetcommand.h
(getParam): New, get a parameter
(setParam): New, set a parameter
(parameter set and get methods): Adjust to InsetCommandParams changes
* src/insets/insetbibitem.[Ch]
(write): Remove, not needed anymore
(directWrite): ditto
* src/insets/insetbibitem.C
(InsetBibitem::read): Use InsetCommand::read
* src/insets/insetref.C
(InsetRef::latex): Use new InsetCommandParams interface
* src/mathed/InsetMathHull.C
(InsetMathHull::doDispatch): ditto
* src/text3.C
(LyXText::dispatch): ditto
* src/factory.C
(createInset): Create InsetCommandParams with command name
(readInset): ditto
(readInset): Remove error message for bibitem, since bibitem is
now a normal command inset
* src/buffer.C: Bump file format number
* src/frontends/controllers/ControlCommand.[Ch]
(ControlCommand): take an additional command name parameter
* src/text.C
(readParToken): Remove code for \bibitem
* lib/lyx2lyx/LyX.py: Bump latest file format number
* lib/lyx2lyx/lyx_1_5.py
(convert_bibitem, convert_commandparams): new, convert to new format
(revert_commandparams): new, convert to old format
* development/FORMAT: document new format
* many other files: Adjust to the changes above
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15357 a592a061-630c-0410-9148-cb99ea01b6c8
* src/buffer:
file format incrementation to 251
* src/insets/insetcharstyle.[Ch]:
- make show_label a param and save its state
- let all-insets-toggle togle the label in charstyles
* development/FORMAT:
document file format change
* lib/lyx2lyx/LyX.py:
add new file format
* lib/lyx2lyx/lyx_1_5.py:
remove char style label param on reversion to 250.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15345 a592a061-630c-0410-9148-cb99ea01b6c8
(dist_pkgdata_PYTHON): and put it here
(dist_scripts_DATA): rename to dist_scripts_PYTHON; this invokes
automake's built-in python support.
(install-data-hook): adapt to above change.
* lib/lyx2lyx/Makefile.am (dist_lyx2lyx_DATA): rename to dist_lyx2lyx_PYTHON;
this invokes automake's built-in python support.
(install-data-hook): new target: sets executable bit on lyx2lyx.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14592 a592a061-630c-0410-9148-cb99ea01b6c8
Support all lyx files (support goes to lyx-0.6 the first public available lyx version).
Fine tune the guessing of the lyx version used to produce the document (only useful for 2.10 and 2.15 documents).
Support to convertion to utf-8 encoding was added but it is not (yet) active.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14558 a592a061-630c-0410-9148-cb99ea01b6c8
as a python dictionary, ready to be used by other python modules.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14557 a592a061-630c-0410-9148-cb99ea01b6c8
The calls are now made to string methods, the advantage being that they work with
unicode strings.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14537 a592a061-630c-0410-9148-cb99ea01b6c8
Add a documentation string to each module.
Add a documentation string to every function in the modules.
file is a python reserved word => s/file/document/g as variable
add a new property to modules, supported_versions that holds
the versions supported by that module
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14534 a592a061-630c-0410-9148-cb99ea01b6c8
lyx_0_10.py
LyX.py: add support for UserGuide convertion from lyx-0.8 (and 0.7).
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14532 a592a061-630c-0410-9148-cb99ea01b6c8
* lyx_1_1_5.py
* lyx_1_2.py
* lyx_1_3.py
* lyx_1_4.py
* lyx_1_5.py
* parser_tools.py: remove functions that are not generic, i.e.
assume a specific pattern for the file format, and move them to the
places where they are used.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14503 a592a061-630c-0410-9148-cb99ea01b6c8
* src/support/os.[Ch]
(python): new function, return the python command
* lib/lyx2lyx/lyx_1_5.py
(revert_font_settings): replace tabs with spaces
The rest is simply s/python/python -tt/ and
s/"python"/lyx::support::os::python()/ where appropriate.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14270 a592a061-630c-0410-9148-cb99ea01b6c8