Hi all,

I just got a (reproducible) crash of lyx 1.1.5pre3 when editing the
translated Customisation document.

I was editing a LyX-Code inset and wanted to delete a line with
Control-k (bound to line-delete-forward; emacs mode):

   Style MissingStyle
       CopyStyle SimilarStyle
       # whatever is different you now redefine
        ^
   End

"^" marks my cursor position
Pressing C-k, lyx immideatly dies *without* an emergency save!
Error message is

  ERROR (LyXParagraph::ParFromPos): position does not exist.
  ERROR (LyXParagraph::PositionInParFromPos): position does not exist.
  ERROR (LyXParagraph::GetChar const): position does not exist.6 (6)

I'll attach a document fragment, in case it is connected to the special
settings. 

  Pit

-- 
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Dr. Peter "Pit" Suetterlin                 http://www.astro.uu.nl/~suetter
Sterrenkundig Instituut Utrecht
Tel.: +31 (0)30 253 5225                   [EMAIL PROTECTED]
__________________________________________________________________________
#LyX 1.1 created this file. For more info see http://www.lyx.org/
\lyxformat 2.16
\textclass article
\language default
\inputencoding latin1
\fontscheme default
\graphics default
\paperfontsize default
\spacing single 
\papersize Default
\paperpackage a4
\use_geometry 0
\use_amsmath 0
\paperorientation portrait
\secnumdepth 3
\tocdepth 3
\paragraph_separation indent
\defskip medskip
\quotes_language english
\quotes_times 2
\papercolumns 1
\papersides 1
\paperpagestyle default

\layout Standard


\lang german
LaTeX 2.09 
\family sans 
sty
\family default 
 Datei
\layout Standard


\lang german
Ob eine 
\family typewriter 
.sty 
\family default 
Datei für das (jetzt obsolete) LaTeX 2.09 geschrieben wurde, können Sie an
 einem der beiden folgenden Dinge erkennen:
\layout Enumerate


\lang german
Eine Beispieldatei, die diese Klasse verwendet, deklariert dies mittels
 
\family typewriter 

\backslash 
documentstyle{myclass}
\family default 
 (anstelle von 
\family typewriter 

\backslash 
documentclass
\family default 
)
\layout Enumerate


\lang german
Der Aufruf von LaTeX mit einer Beispieldatei gibt eine Warnung aus, daß
 in den Kompatibilitätsmodus geschaltet wird.
\layout Standard


\lang german
Prinzipiell unterstützt LyX ausschließlich LaTeX2e Dokumente.
 Aber das ist kein Grund zu verzweifeln, denn wo ein Wille ist, ist auch
 ein Weg (
\begin_inset Quotes gld
\end_inset 

Es war offensichtlich unmöglich; deshalb haben wir es trotzdem getan
\begin_inset Quotes grd
\end_inset 

).
 Die existierende Unterstützung für ReVTeX 3.1 ist ein Beispiel, bei dem
 der 2.09 Code derart gekapselt wird, daß er in 2e formatierten Dokumenten
 verwendet werden kann.
 Sie können diese Kapselung auch für ihr 
\family typewriter 
myclass.sty
\family default 
 verwenden, sollte sich dieses als 2.09 Code herausstellen.
 Hier ein kurzes Rezept:
\layout LyX-Code


\lang german
cp LYXDIR/tex/revtex.cls ~/tex/myclass.cls
\layout Standard


\lang german
(oder wo immer sie ihre lokalen TeX Dateien speichern) Editieren Sie nun
 
\family typewriter 
myclass.cls
\family default 
 und ersetzen Sie jedes vorhandene 
\begin_inset Quotes gld
\end_inset 

revtex
\begin_inset Quotes grd
\end_inset 

 durch 
\begin_inset Quotes gld
\end_inset 

myclass
\begin_inset Quotes grd
\end_inset 

.
 Wahrscheinlich sind einige der 
\family typewriter 

\backslash 
DeclareOption
\family default 
 Einträge für ihre style Datei nicht relevant, doch das soll Sie momentan
 nicht stören.
\layout Standard


\lang german
Als nächstes erstelen Sie wie im vorigen Abschnitt beschrieben eine Datei
 
\family typewriter 
myclass.layout
\family default 
, verwenden aber diesmal den Eintrag
\layout LyX-Code


\lang german

\backslash 
DeclareLaTeXClass{myclass}
\layout Standard


\lang german
Eine 
\family typewriter 
Preamble
\family default 
 Definition sollte nicht notwendig sein.
 Konfigurieren Sie LyX neu und mit etwas Glück haben Sie ein funktionierendes
 System, das lediglich ein wenig Einstellungsarbeit bei der Darstellung
 benötigt.
 Das beinhaltet Veränderungen der Werte, die LyX für Abstände, Zeichensätze
 usw.
 verwendet; diese werden in der 
\family typewriter 
.layout
\family default 
 Datei festgelegt.
\layout Standard


\lang german
Weiterhin müssen Sie sicherstellen, daß alle Umgebungstypen, die in 
\family typewriter 
myclass.cls
\family default 
 definiert werden, auch in 
\family typewriter 
myclass.layout
\family default 
 vorhanden sind.
 Falls einige davon fehlen, müssen sie die entsprechenden Einträge hinzufügen.
 Kopieren Sie dazu einen ähnlich aussehenden Stil und verändern Sie diesen
 nach ihren Wünschen.
 Dies geschieht am einfachsten folgendermaßen:
\layout LyX-Code


\lang german
Style MissingStyle
\layout LyX-Code


\lang german
    CopyStyle SimilarStyle
\layout LyX-Code


\lang german
    # whatever is different you now redefine
\layout LyX-Code


\lang german
End
\the_end

Reply via email to