]> git.lyx.org Git - lyx.git/blob - src/mathed/BUGS
write \mathrm{x}\mathrm{y} as \mathrm{xy} again
[lyx.git] / src / mathed / BUGS
1 Items marked with
2
3   //   - are probably fixed, the reporter is asked to verify this
4          and report success or failure
5
6   ??   - are not reproducable, the reporter is asked to verify this
7          and report success or failure
8
9   ::   - are questions or comments to the reporter, containing question
10          on how to reproduce the bug exactly or things like that
11
12   !!   - mark "not a bug, a feature" replies, usually with a request for
13          further discussion
14
15         pp   - partially fixed
16
17 Unmarked items are known unfixed but probably unverified bugs.
18
19 ----------------------------------------------------------------------
20
21 General hints for bug reports: 
22
23   - keep the items small
24
25   - do not provide excessive information on how to reproduce the bug
26     if this is obvious
27
28   - if a bug is partly fixed, report it as "fixed" and a new bug item
29     that contains the unfixed part only
30
31   - check this list regularly, comment on the marked items.
32
33   - plain ASCII text please, not much more than 70 chars per column 
34
35 ----------------------------------------------------------------------
36
37 - \matrm{xy} gets written as \mathrm{x}\mathrm{y}
38
39 Dekel:
40
41 Macros:
42
43 // - When changing the macro definition, all instances are not updated.
44
45 // - If I have macros \newcommand{\foo}[1]{[#1]} and
46 //   \newcommand{\foox}{\foo{x}} then when an instance of \foox is drawn on
47 //   screen, there are two black frames.  While this is "correct", it is
48 //   annoying.
49
50 - LyX crashes when you define a recursive macro
51
52 Misc:
53
54 // - If I have x_{1}^{2}, I put the cursor before the 2, and press backspace,
55 //  the result is 'x2'. The correct result should be 'x_{1}2'
56
57 // - If I mark some text and then press ^, then the marked text is deleted.
58 //   The correct behavior is to put the marked text in the superscript.
59
60 // - Pressing <down> when cursor is in subscript will move the cursor up
61 //   (to the base of the subscript) instead of exiting the inset.
62 //   The same problem happen in fractions
63
64 // - When you press the mouse just to the left of the middle point of
65 //   some char, the cursor will be positioned to the right of the char.
66
67 pp - It is possible to put two or more consecutive spaces in math text mode
68
69 // - Text in superscript is not smaller than normal text.
70
71 // - After insertion of \sum, the cursor is in invalid location
72
73 // - The height of the frame is often wrong (e.g. x^2)
74 //    For example $\sum x$ in an inline formula
75
76 - InsetFormula::validate is broken
77
78 // - Changing math space length by pressing the space-bar key doesn't work
79 !!  it's M-m space now. 
80
81 // - The drawing of decorations on screen is very different than latex.
82 //    (a low priority bug).
83
84 // - If I change '\alpha' to bold, the result is \mathbf{a}
85
86 // - Just moving the cursor in a math inset causes changing the buffer status
87 //   to (changed).
88
89 // - disable the insert->label menu item when in inline formula.
90
91
92 Eran Tromer:
93
94 // - When exiting the formula during selection, the anchor moves to the
95 //   left of the formula and there's no way to go back.
96
97 // - Scripts are too large. $\log_2$ exceeds inset frame (non-displayed).
98
99 // - You need two <right> to get past \vec{v}, and all sort of other
100 //  insetish behavior.
101
102 :: Not a bug.
103
104 // - \vec{several-characters} doesn't work. \overrightarrow does.
105
106 // - When the cursor is in a subscript (and either isn't at the end of 
107 //   the subscript or there's no subsubscript), pressing <down> should
108 //   try to *really* go down (to the next line, or denumerator, or 
109 //   whatever). Currently it goes *up*. Ditto for superscripts.
110
111 // - When choosing to insert "\left\Vert \right\Vert" parenthesis using
112 //   the maths [sic] panel, a "\left( \right." is inserted instead.
113
114 // - Formula inside tabular cell: red frame of cell inset and purple 
115 //   frame of formula can overlap, causing leftovers when leaving 
116 //   formula. To get an example, insert a 1x1 tabular into a new document,
117 //   enter the cell its cell and press 
118 //   M-m ( M-f 1 <right> <right> <right>       (zoom=100, screenDPI=100)
119
120 // - When selecting multiple cells in a array using the keyboard, <left>
121 //   etc. should can move whole cell at a time -- no need to navigate 
122 //   within cells.
123
124 - When selecting, maybe give a visual indication of the "original" 
125   anchor, when it differs from the "actual" one.
126
127 // - Placement of cursor using mouse is seriously broken.
128 //   Example 1: large fractions.
129 //   Example 2: type into a new document: 
130 //   "M-d xxxxxxxxx <right> M-x footnote-insert"
131 //   Can't reach most places in the formula using mouse.
132
133
134
135 Rainer Dorsch:
136
137 - Entering \mathbf{c} in math mode is displayed as written (without
138   backslash)
139
140 - I know the latex code of a lot of math symbols displayed by lyx,
141   but not all of them. Thus I have to use the math panel for only a single
142   symbol in a formula. I think it would be very useful, if the latex code
143   of the symbol would be displayed as a hint, if the mouse positioned over
144   it.
145
146
147 Marcus (Suran@gmx.net) 
148
149 - In math-mode I can switch back to text-mode in a formula but then I am
150   not able to type Umlauts.
151
152 ?? - Having selected some part of a formula and creating a fraction with that
153 ??   part in the top my selection-buffer is replaced with the part.
154
155 - If the math-panel has the focus I can type text but not switch into
156   math-mode or use some of the other keyboard-shortcuts.
157
158 // - In the default-configuration there are shortcuts for al greek characters
159 //  _except_ varphi wich is used extensively as a default-variable-name.
160
161
162 From: Álvaro Tejero Cantero <alvaro@antalia.com>
163  
164 - the most annoying bug by far: bold is "inherited" to super and subscripts.
165  
166 // - when you get into equation array mode, the previous equation(s)
167 // remain(s) unaligned. I would be soo much faster to have LyX pick the
168 // last equal sign from the previous line as a reference for the alignment
169 // (and a good heuristic for the 80% of cases, with the advantage that we
170 // don't lose anything enforcing it). This is another case that slows down
171 // a lot when typing because, as the previous one, requires going back
172 // and correcting.
173  
174 // - the movement is sometimes clumsy inside this arrayed equations: ie.
175 // C-a (or "home" are understood as "beginning of the formula" instead of
176 // "beginning of the equation". Again, a lot of movement has to be made.
177 // I suggest mapping "beginning of doc" with "beginning of formula" and so
178 // on (very intuitive), in case you don't deem appropriate the "namespace
179 // idea" below.
180  
181 //- movement between macro boxes is also weird, but in this one it's perhaps 
182 // just me.  
183  
184 - I suggest creating a different "kewybinding namespace" for the formulas, 
185  since you could put to good use all those keybindings from the menu (M-?, 
186  C-?) thath currently do their job PLUS getting you out of the formula. 
187  Seriously, it'd be great to have more keys free, so M-d t would be time 
188  derivative and M-d ? derivative with respect to the variable ?. And so on.
189  
190 - I'm no experienced C++ programmer, but if you consider it appropriate, I 
191  could write a scritp in python for this one (I'm also very optimistic). Tell 
192  me what you think:
193   
194    Flattening macros. Sometimes it's annoying the fact that once you have 
195  written a macro, you can't touch at it's "constant parts". I call flattening 
196  to the process of substituting all macros with LaTeX code.
197  
198    Task: designing a macro substitution system that reads from a file 
199  (possibly the same file as the document's) the macros and parses the document 
200  doing the appropriate replacements
201  
202   This is very useful, because sometimes you have a big expression in a macro 
203  and you want to change an index only. What do you do then?. You retype 
204  everything (perhaps several times in the document) or you create extremely 
205  generic and parametrizable macros that aren't very fast to fill in the 
206  majority of cases.
207  
208  
209 // - undo-redo seems too coarse in math-mode. You end up losing substantial 
210 //  fragments of your formula. I hate that when it affects tensors,;).
211  
212 - cut&paste inside math-mode doesn't work the X fashion (middle button doesn't 
213  paste anything).
214  
215 - I remember having heard that a search-replace function was planned, so I 
216  won't repeat that. Only that the flattening option would be then easier to 
217  implement on top of that.
218  
219 // - There's something I keep wondering about.. how do new math symbols get
220 // into LyX. Do they get ever?. I don't know if it can be done, but if you
221 // tell me where to "draw" those symbols or how, I would very glad start
222 // doing it. LyX deserves to have support (visual support) for all the
223 // AMSTeX constructs. But there must be something structural going on
224 // there, because otherwise more math symbols would be ready by now..
225 // just a thought.
226  
227 //- Some math symbols aren't very well supported (to my knowledge). I'm 
228 //  thinking of underbraces with extra data in them
229
230 - Some math symbols aren't very well supported (to my knowledge). I'm 
231   thinking of [] options.
232
233 Herbert Voss:
234
235 - it's not possible to enter superscript when the
236   ^-char works as a dead key. with the second ^-
237   or the space the cursor jumps outside the mathbox.
238
239
240 Jules Bean:
241
242
243 - I've been using Lyx for a year or two now, and I have some thoughts on
244   improving the interface. Not the GUI, as such, but the basic Human-Machine
245   interface --- the efficiency with which I can enter information into it. 
246
247 There are a couple of general principles I'm try to uphold here: 
248
249 a) If something's easy & quick in LaTeX then it should be easy & quick in
250 LyX (unless it really isn't very common).  b) Actions which are used
251 frequently should be a single key-press, even if that's not very easy to
252 remember. You learn it.  c) Actions which are used rarely should be
253 mnemonic -- easy to remember -- even if they are multiple keypresses.
254 Things you do rarely you care less about the time it takes to perform. 
255
256 // 2) Math-mode entry  Under the xemacs keybindings, which I use, (damn it,
257 // I don't want to confuse my poor muscle memory more than necessary by
258 // learning too many different bindings for the same actions), the key
259 // sequence to enter math-mode is 'M-c m'. I'm not sure exactly what to
260 // propose instead, but I really think this needs to be only one keypress. 
261
262 :: Not a mathed bug
263
264 As an aside, you may think that I'm whining over nothing. However, when
265 you enter math mode as often as I do (often more than once a sentence) it
266 gets very annoying, especially as compared to simply typing '$' in plain
267 emacs. Also, you may say 'why don't you just change your bindings file?'. I
268 will ;) but I wanted to start some discussion on this since it can benefit
269 everyone! 
270
271 More serious, though, than the number of characters which need to be typed
272 is the confusing nature of the command. 'M-c m', typed once, puts you into
273 math-mode. However, typing 'M-c m' again doesn't put you out of math-mode
274 --- it puts you into math-text mode. Then hitting it again puts you back
275 into normal math-mode.  IMO, 'modal' keys should either be idempotent (so
276 hitting it the second time does nothing) or self-inverting. In fact, the
277 inverse to 'M-c m' is either 'ESC' or simply a space typed at the end of
278 the block --- which is confusing, since they're not of the same 'shape' as
279 the command that got you in there. 
280
281 Now, I'm not saying that 'space' shouldn't be allowed as a short-cut to get
282 you out of math-mode; it's a most useful and natural one, I like it a lot.
283 However, on balance I think M-c m should also have that effect. 
284
285 3) Math-mode inconsistencies 
286
287 Sometimes 'the same action' has the same keystroke both within and
288 without math-mode. This is very sensible. However, it is very annoying when
289 they don't behave the way you're expecting them to. 
290
291 For example, 'M-c e' puts you into 'emphasise' mode.  Ignoring the fact
292 that in text mode this is italics, and in math-mode it stands for the
293 calligraphic character set, I think of these as the same action, so I like
294 the fact that they have the same keys. However, in math-mode, 'M-c e' is
295 idempotent, (and you need 'M-c space' to get back into normal) whereas in
296 text-mode 'M-c e' is self-inverse. These are the two possibilities I listed
297 as acceptable before, but consistency would be nice ;-) IMO, self-inverse
298 would be best for both. 
299
300 4) ERT in math-mode 
301
302 Math-mode doesn't handle ERT very well at all. It flips back out of
303 TeX-mode as soon as you type any special character.  Very annoying if I
304 wish to typeset an \xymatrix inside math-mode (see also my comment above
305 about table-like environments), since I can't type the &. In fact, my
306 xymatrices end up as $$\xymatrix{..}$$ in text-mode ERT. Also rather
307 annoying when you want to use a \macro with more than one argument (but not
308 fatally so). 
309
310 5) Proposal : a 'ligatures' or 'autocorrect' system 
311
312 One of the very minor, but useful, features of TeX is the way it lets you
313 type the nearest approximation to what you want using a 'typewriter
314 keyboard', and substitutes the typographically neat equivalent. In
315 particular, 'fancy' quotes (") and en and em dashes (---). I propose that
316 this UI element could be taken up a level into LyX, with a system that does
317 the following (for example): 
318
319 -> becomes \rightarrow 
320 <- becomes \leftarrow 
321 => becomes \Rightarrow (etc..) 
322 ==> becomes \Longrightarrow (etc..) 
323
324 This may only be appropriate in math mode, of course.  This family bug me
325 in particular because they take ages to type using a \-escape. Undoubtedly
326 sharp minds will think of others, and also we need some way of actually
327 typing those sequences as literals when we want them. 
328
329 6) Scope macros: 
330
331 The current macro system is clever, but could be neater. One improvement
332 I'd like is to let LyX know about TeX's scoping rules... 
333
334
335 Yves Bastide:
336
337 - use AMS's \text instead of \mbox.  It supports accented characters,
338   among others...  (selected via validate()?)
339
340
341 Jean-Marc:
342
343 // \def\neq{\not=} \let\ne=\neq
344 // \let\le=\leq
345 // \let\ge=\geq
346 // \let\owns=\ni
347 // \let\gets=\leftarrow
348 // \let\to=\rightarrow
349 // \let\|=\Vert
350
351 Angus:
352
353 - make math lables editable
354
355 Tuukka:
356
357 // - An inline equation does not get a number, so putting a label there is not
358 //   overly sensible...
359 //      Ok. In that case show a message in the bottom similarly as the message
360 //      "you cannot type two spaces this way". Eg. "You can insert math labels
361 //      only in display mode"
362
363 :: Not a bug. It's allowed by LaTeX and there might be other reasons for
364 :: putting labels there. I won't add extra code to disable this.
365