]> git.lyx.org Git - lyx.git/blob - RELEASE-NOTES
Documenting the new -E command-line option (added in r39678).
[lyx.git] / RELEASE-NOTES
1 This file lists interface changes that might affect users in 2.0.0, some 
2 known problems in LyX 2.0.0 and some things you have to take into account
3 when upgrading from earlier versions to a version of the 2.0.x series.
4 Note that fixes are available for some of these, but they have not yet
5 been applied because of incomplete testing.
6
7
8 Interface changes
9 -----------------
10
11 There have been some changes to the LyX command line. The following new
12 options have been added:
13
14 -batch
15
16   Causes LyX to run the given commands without opening a GUI window.
17   Thus, something like:
18         lyx -batch -x "buffer-print printer default dvips" myfile.lyx
19   will cause LyX to print myfile.lyx to the default printer, using
20   dvips and the default print settings (which, of course, have to have
21   been configured already). At present, not many commands can be used
22   this way, but there will be more eventually.
23
24 -export-to <format> <dest>    (-E <format> <dest>)
25
26   Allows one to perform a batch export of the LyX file that is opened
27   to the specified destination file <dest> and format <format>.
28   For example, to create a PDF of a LyX document, you can run:
29     lyx -export-to pdf /path/to/dest.pdf /path/to/source.lyx
30   See the manual page for details.
31
32 A bash completion script was added to the tarball.
33
34 We have introduced a new flag to decide whether or not a given "document"
35 format shall be listed in the File > Export menu. This was necessary since
36 this menu got too large. If the flag "menu=export" is not explicitly set,
37 the formats are not included in the menu. This means that you might need
38 to click "Show in export menu" in Preferences > File Formats for your
39 customized file formats if you want them to appear in the menu.
40 Customized formats imported from a previous configuration are handled
41 by the prefs2prefs script, and should appear in the menu as before.
42 Note, though, that you still can export to any possible format via
43 File > Export > More Formats and Options ...
44
45 The following pref variables were changed in 2.0:
46
47 - \language_package was renamed to \language_custom_package
48
49 - \language_use_babel (bool) has been replaced by 
50   \language_package_selection, which can be
51   0 (automatic selection)
52   1 (always use babel)
53   2 custom (use the custom package defined by
54     \language_custom_package)
55   3 none (equivalent to former \language_use_babel false)
56
57 The following pref variables are obsoleted in 2.0:
58
59 - \plaintext_roff_command (was not used anymore)
60
61 - \personal_dictionary, \spell_command, \use_input_encoding,
62   \use_personal_dictionary and \use_spell_lib (ispell support has been
63   removed)
64
65 - \spellchecker_use_alt_lang and \use_escape_chars (actually not used
66   by the UI, and it is as simple to check whether the relevant
67   variable is empty)
68
69 - \custom_export_command and \custom_export_format
70
71
72 The following new LyX functions have been introduced:
73
74 - LFUN_WORD_FINDAD ("word-findadv").
75 - LFUN_REGEXP_MODE ("regexp-mode").
76 - LFUN_PHANTOM_INSERT ("phantom-insert").
77 - LFUN_INSET_BEGIN ("inset-begin").
78 - LFUN_INSET_END (""inset-end"").
79 - LFUN_INSET_BEGIN_SELECT ("inset-begin-select").
80 - LFUN_INSET_END_SELECT ("inset-end-select").
81 - LFUN_CHANGE_PREVIOUS ("change-previous").
82 - LFUN_LABEL_INSERT_AS_REF ("label-insert-as-reference").
83 - LFUN_SECTION_SELECT ("section-select").
84 - LFUN_FONT_UNDERLINE ("font-underline").
85 - LFUN_FONT_STRIKEOUT ("font-strikeout").
86 - LFUN_FONT_UULINE ("font-underunderline").
87 - LFUN_FONT_UWAVE ("font-underwave").
88 - LFUN_BRANCHES_RENAME ("branches-rename").
89 - LFUN_BRANCH_ADD_INSERT ("branch-add-insert").
90 - LFUN_BUFFER_CLOSE_ALL ("buffer-close-all").
91 - LFUN_INSET_FORALL ("inset-forall").
92 - LFUN_DEBUG_LEVEL_SET ("debug-level-set").
93 - LFUN_INSET_SELECT_ALL ("inset-select-all").
94 - LFUN_MATH_AMS_MATRIX ("math-ams-matrix").
95 - LFUN_VC_COMPARE ("vc-compare").
96 - LFUN_SPELLING_ADD ("spelling-add").
97 - LFUN_SPELLING_IGNORE ("spelling-ignore").
98 - LFUN_SPELLING_REMOVE ("spelling-remove").
99 - LFUN_PREVIEW_INSERT ("preview-insert").
100 - LFUN_FORWARD_SEARCH ("forward-search").
101 - LFUN_INSET_COPY_AS ("inset-copy-as").
102 - LFUN_BUFFER_TOGGLE_OUTPUT_SYNC ("buffer-toggle-output-sync").
103
104
105 The following LyX functions have been removed:
106
107 - LFUN_NEXT_INSET_TOGGLE ("next-inset-toggle"): use "inset-toggle" instead.
108 - LFUN_NEXT_INSET_MODIFY ("next-inset-modify"): use "inset-modify" instead.
109 - LFUN_PARAGRAPH_SPACING ("paragraph-spacing"): use "paragraph-params" instead.
110
111 - LFUN_NOTES_MUTATE ("notes-mutate"): replace
112     notes-mutate <SOURCE> <TARGET>
113   with the more general function inset-forall
114     inset-forall Note:<SOURCE> inset-modify note Note <TARGET>
115
116 - LFUN_ALL_INSETS_TOGGLE ("all-insets-toggle"): replace
117     all-insets-toggle <ACTION> <TARGET>
118     all-insets-toggle <ACTION>
119   with the more generic function inset-forall
120     inset-forall <TARGET> inset-toggle <ACTION>
121     inset-forall * inset-toggle <ACTION>
122   There is a difference in the <TARGET> parameter, which is would be
123   like "note" in the first case and "Note" in the second.
124
125 - LFUN_TABULAR_FEATURE ("tabular-feature"): use "inset-modify" instead.
126   I.e., "tabular-feature FEATURE <ARGS>" becomes:
127     inset-modify tabular FEATURE <ARGS>
128
129 - LFUN_LINE_INSERT ("line-insert"): use "inset-insert line" instead. For
130   something close to the previous default, use:
131     inset-insert line rule height 0.25ex width 100col% \\end_inset
132   This is necessary because the line inset now takes various arguments.
133
134 - LFUN_TOC_INSERT ("toc-insert"): use "inset-insert toc" instead.
135
136
137 The following LyX functions have been changed:
138
139 - LFUN_INSET_TOGGLE ("inset-toggle"): For some insets, this function was used 
140   to show the settings dialog. This is no longer possible and one should use
141   inset-settings for this purpose.
142  
143 - LFUN_WORD_REPLACE ("word-replace"): The replacement and searched strings
144   arguments have been inverted in order to allow the replacement of the word
145   at current cursor position, even if it is not selected.
146
147 - LFUN_OPTIONAL_INSERT ("optional-insert") has been renamed LFUN_ARGUMENT_INSERT
148   ("argument-insert").
149
150
151 The following LyX key bindings have been changed:
152
153 - LFUN_MATH_MACRO_FOLD ("math-macro-fold")
154   The binding to "C-minus" has changed to "C-S-underscore".
155
156 - LFUN_MATH_MACRO_UNFOLD ("math-macro-unfold")
157   The binding to "C-plus" has changed to "C-S-asterisk".
158
159 - On Mac OSX the modifier keys <Control> and <Option> are now treated separately.
160   The distributed key binding for Mac OSX no longer uses the <Option> key for
161   shortcuts with letters or numbers.
162
163   The custom key bindings for <Option>/<Control> are mapped to the <Control>
164   modifier only.
165
166 New external programs and libraries:
167 ------------------------------------
168
169 LyX 2.0 introduces support for some new external helper programs/libraries,
170 while the support for some existing programs has been dropped. This
171 particularly applies to spell checking and the thesaurus.
172
173 1.) SPELLCHECKING:
174
175 * Direct support for ispell and hspell has been dropped. However, ispell
176   and hspell are still accessible via the enchant wrapper (see below).
177
178 * Support for the aspell command line program has been dropped. Note that
179   the aspell library (aspell 0.60.x) is still supported.
180   
181 * As well as the aspell library, LyX now also supports hunspell (the spell
182   checker used by OpenOffice and Firefox) and enchant, a wrapper that
183   provides automatic access to many spell checking libraries (ispell,
184   aspell, hspell, hunspell, etc.).
185
186 * On Mac OSX, Apple's Spell Server is preconfigured as the "native" spell 
187   checker.
188
189 LyX 2.0 is configured for any and all of these three possibilities,
190 given that the various libraries are installed on the machine where LyX is 
191 configured. The actual spell checker can be selected in Tools > Preferences.
192 Packagers are advised to pre-select whatever is most common on their
193 platform/distribution.
194
195 2.) THESAURUS:
196
197 * Support for the aiksaurus library has been dropped in favour of the
198   MyThes thesaurus library (the thesaurus library used by OpenOffice).
199   
200 * LyX ships the MyThes library itself, so unlike in LyX 1.6.x, no extra 
201   thesaurus library needs to be installed. However, LyX does not ship any 
202   thesaurus dictionaries, and those do have to be installed separately.
203
204 * The OpenOffice thesaurus dictionaries can be used, but the path to those
205   dictionaries needs to be set in Tools > Preferences. Please refer to the
206   UserGuide, sec. 6.14, for further instructions.
207
208 Packagers are advised to preset the thesaurus for their distribution/
209 platform. Packagers of installation bundles (on Windows and the Mac)
210 are advised to provide automatic installation of thesaurus dictionaries
211 in the installation process (analoguous to the spellchecker installation).
212
213 3.) LILYPOND:
214
215 There is now direct support for Lilypond-book. Note that LyX requires at
216 least version 2.14 for proper work.
217
218 4.) INSTANT PREVIEW:
219
220 Make sure that dv2dt (often part of LaTeX distributions) is installed
221 on your system. Instant preview wil be disabled if dv2dt is not found.
222
223 5.) LuaTeX support
224
225 For proper LuaTeX support you need to have at least TeXLive 2010.
226
227
228 Known issues in version 2.0.0
229 -----------------------------
230
231 - LyX needs to be run under Python 2 and will not work properly on systems
232   where Python 3 is the default binary. See bug #7030 to know how to fix
233   this properly, since simple sheebang conversion in *.py files will not
234   be enough.
235
236 Caveats when upgrading from earlier versions to 2.0.x
237 -------------------------------------------------------
238
239 - The typeset of your documents with non-english language can slightly
240   change in case of math environments and floats (this is usually the case
241   with certain modules which provide specific environments like AMS ones
242   or provide specific floats like the linguistic one).
243
244   LyX now uses its own translation machinery which will automatically provide
245   localization strings used so far only in GUI. The status of translation to
246   your language can be seen in lib/layouttranslation file. This is not meant as
247   a babel replacement (still used), but rather extension for strings not
248   translated by babel at all.
249
250 - The syntax of the languages file has been changed. If you use a modified
251   languages file, you will need to adapt it to the new syntax, as LyX 2.0
252   is not able to read old languages file anymore.
253   Please refer to the beginning of the languages file for an explanation
254   of the new syntax.
255
256 - There has been a large change in how Flex insets are named. Previously,
257   they tended to have names like "CharStyle:Noun". Now, they just have
258   names like "Flex:Noun" (where the "Flex" prefix is now required). When 
259   LyX 2.0 reads older files, it silently converts the old-style names
260   to new-style names; this direction works almost perfectly. The one place
261   it does not work is with CopyStyle declarations, IF your old InsetLayout
262   was NOT named "CharStyle:..." or "Custom:..." or "Element:...", but, say,
263   just "MyInset". In that case, "InsetLayout MyInset" will be changed to
264   "InsetLayout Flex:MyInset", but "CopyStyle MyInset" will be left as is.
265   Users will need to make that kind of change manually. The best way to do
266   this is to use the layout2layout.py script, which gets installed in
267   $LYXDIR/scripts/layout2layout.py, to convert your custom layout files to
268   the new format, and then check them for correctness.
269    
270   LyX will also silently revert new-style names to old-style names when 
271   exporting to 1.6.x format, but only for the pre-defined LyX insets. This 
272   means that user-defined flex insets will not be properly reverted. To solve 
273   this problem, you can modify the file $LYXDIR/lyx2lyx/lyx_2_0.py. In that 
274   file, you will find the following:
275     flex_insets = {
276       "Alert" : "CharStyle:Alert",
277       "Code" : "CharStyle:Code",
278       "Concepts" : "CharStyle:Concepts",
279       "E-Mail" : "CharStyle:E-Mail",
280       "Emph" : "CharStyle:Emph",
281       "Expression" : "CharStyle:Expression",
282       "Initial" : "CharStyle:Initial",
283       "Institute" : "CharStyle:Institute",
284       "Meaning" : "CharStyle:Meaning",
285       "Noun" : "CharStyle:Noun",
286       "Strong" : "CharStyle:Strong",
287       "Structure" : "CharStyle:Structure",
288       "ArticleMode" : "Custom:ArticleMode",
289       "Endnote" : "Custom:Endnote",
290       "Glosse" : "Custom:Glosse",
291       "PresentationMode" : "Custom:PresentationMode",
292       "Tri-Glosse" : "Custom:Tri-Glosse"
293     }
294   This is a map from new-style names (minux "Flex") to old-style names (and
295   there is a similar for DocBook elements). To get a user-defined CharStyle
296   to revert properly, it simply needs to be added to this list.
297
298
299 Note: There may later be an updated list of known issues online at
300         http://wiki.lyx.org/LyX/ReleaseNotes
301
302 - UI layout named "classic.ui" and some localized keyboard bindings (sv,pt,fi)
303   were long time unmaintained and we do not ship it anymore.