Sie sind hier

Nach Update auf Miktex 2.7: LCO-Datei nun inkompatibel?

Guten Abend,

nach dem Update auf von Miktex 2.4 auf Miktex 2.7 gibt es ein Problem mit vordefinierten *.lco-Dateien, die ich jahrelang ohne Probleme (unter Miktex 2.4 mit Komascript v2.9t) benutzt habe.

Genauer gibt mir Tex nun bei Verwendung der Optionen "fromemail", "parskip" und ggf. "fromrule" zurück, diese Optionen seien Komascript unbekannt.

Dies tritt bei mir unter mehreren Systemen auf, darunter auch völlig frisch aufgesetzten (sowohl Windows als auch Miktex). Anbei ein Minimalbeispiel, mitsamt LCO-Datei und Log-Bericht. Vielleicht fällt ja einem von Euch ein, woran es hakt.

Vielen Dank & Frohes Neues,
Simeon

### TEX-Datei ###

%----------------------------------------------------------------------------------
% ALLGEMEINE EINSTELLUNGEN
%----------------------------------------------------------------------------------
\documentclass[lcofile]{scrlttr2}

\usepackage{german}
%----------------------------------------------------------------------------------
% TEXTTEIL
%----------------------------------------------------------------------------------
\begin{document}

\begin{letter}{Adresse}

\opening{Anrede und Text}

\closing{Grüße}
\end{letter}

\end{document}

### Ende TEX-Datei ###

### LCO-Datei ###

\ProvidesFile{lcofile.lco}[04/08/2004 letter class option]

\KOMAoptions{fromalign=center,fromrule=afteraddress, fromemail=true, parskip=half}
%hier treten nur zwei Fehlermeldungen zu "fromemail" und "parskip" auf

%\KOMAoptions{paper=a4,draft,fromalign=center, fromrule=afteraddress, fromemail=true, parskip=half} %diese Optionswahl gibt einen dritten Fehler über "fromrule" aus

\setkomavar{fromname}{Herr Mustermann}
\setkomavar{fromaddress}{Musterstrasse}
\setkomavar{fromemail}[]{Mustermail} %[] unterdrückt, daß "E-Mail" gesetzt wird

### Ende LCO-Datei ###

### Log-Datei ###

This is pdfTeX, Version 3.141592-1.40.4 (MiKTeX 2.7) (preloaded format=latex 2007.12.31) 31 DEC 2007 18:03
entering extended mode
**LaTeX1.tex
(LaTeX1.tex
LaTeX2e
Babel and hyphenation patterns for english, dumylang, nohyphenation, ge
rman, ngerman, french, loaded.
("C:\Programme\MiKTeX 2.7\tex\latex\koma-script\scrlttr2.cls"
Document Class: scrlttr2 2007/10/12 v2.97d KOMA-Script document class (letter)
("C:\Programme\MiKTeX 2.7\tex\latex\koma-script\scrkbase.sty"
Package: scrkbase 2007/10/12 v2.97d KOMA-Script package (basics and keyval use)

(...)

! Package scrkbase Error: unknown KOMA option ` fromemail'.

See the scrkbase package documentation for explanation.
Type H for immediate help.
...

l.3 ...afteraddress, fromemail=true, parskip=half}

You have used \KOMAoptions to set ` fromemail=true',
but KOMA-Script does not know any option named ` fromemail'.
See the KOMA-Script manual for more informations about options and
their values.

! Package scrkbase Error: unknown KOMA option ` parskip'.

See the scrkbase package documentation for explanation.
Type H for immediate help.
...

l.3 ...afteraddress, fromemail=true, parskip=half}

You have used \KOMAoptions to set ` parskip=half',
but KOMA-Script does not know any option named ` parskip'.
See the KOMA-Script manual for more informations about options and
their values.

(...)

### Ende Log-Datei ###

forum: 
Bild von Markus Kohm

Es war nie dokumentiert, dass in \KOMAoptions Leerzeichen unbeachtet bleiben. Deshalb ist ab r367 (KOMA-Script 2.97c) dieses Feature auch weggefallen, als die Optionenverarbeitung komplett neu implementiert wurde. Auf vielfachen Wunsch ist es jedoch in der aktuellen Release wieder enthalten. Wann diese über den Updatemanager für MiKTeX verfügbar sein wird, entzieht sich meinem Einfluss. Man kann KOMA-Script 2.98 aber auch bei MiKTeX unabhängig vom Updatemanager installieren.

Vielen Dank, Markus!

Mit

\KOMAoptions{paper=a4,draft,fromalign=center,fromrule=afteraddress,fromemail=true,parskip=half}

-- also OHNE Leerzeichen -- klappt es nun tatsächlich.

Als unbedarfter Laie halte ich es in diesem Zusammenhang für tatsächlich glücklicher, Leerzeichen zuzulassen -- auf diese Feinheit wäre ich alleine nie gekommen. Hoffentlich findet die neue Koma-Version bald Eingang in Miktex.

Grüße,
Simeon

Bild von Markus Kohm

Das Problem, wenn man an diesen Stellen Leerzeichen ihrer Bedeutung beraubt ist, dass unbedarfte Laien dann glauben, dass Leerzeichen auch an anderer Stelle unerheblich sind. Das ist aber gerade nicht der Fall. Tatsächlich werden eine ganze Reihe von Satzproblemen durch unbedacht gesetzte Leerzeichen oder Zeilenumbrüche verursacht. Würde der Anfänger bereits ganz am Anfang darauf gestoßen, dass Zeilenumbrüche als Leerzeichen interpretiert werden und Leerzeichen in der Regel eine Bedeutung haben, hätte der Laie später oftmals weniger Probleme.

Das Nichtwissen um signifikante Leerzeichen geht so weit, dass es selbst bei Paketautoren recht weit verbreitet ist. So musste ich leider über Jahre hinweg vor der Verwendung eines von der Idee her sehr nützlichen Paketes warnen, weil es diverse Probleme wegen signifikanter Leerzeichen in der Paketimplementierung gab. Glücklicherweise hat der Autor inzwischen entsprechende Hinweise umgesetzt, so dass in der aktuellen MiKTeX-Version und dem aktuellen TeX-Live eine korrigierte Version davon enthalten ist. Leider gilt das aber beispielsweise nicht für die SuSE-texlive-Pakete (die aber ohnehin so verkonfiguriert sind, dass ich von ihrer Verwendung abraten muss).

Langer Rede kurzer Sinn: Ich kann nur allen Anfängern empfehlen, Leerzeichen und Zeilenumbrüche (ohne vorheriges Prozentzeichen) nur dort stehen zu lassen, wo sie wissen, dass sie auch hingehören. Auch wenn LaTeX ein paar ungewollte Leerzeichen vernichtet, so sollte man sich doch besser an dem orientieren, was TeX selbst interpretiert. Die Tricks von LaTeX versagen nämlich manchmal auch (beispielsweise wenn man mehrere Anweisungen, die einzeln Leerzeichen-robust sind, mischt).

Liebe KOMA-Script-Interessierte,

kann es sein, dass es diese Funktionalität in v3.03 (Tex Live 2008) wieder nicht mehr gibt?

[]
 
(/usr/local/texlive/2008/texmf-dist/tex/latex/koma-script/scrlfile.sty
Package scrlfile, 2009/03/25 v3.03 KOMA-Script package (loading files)
                  Copyright (C) Markus Kohm
 
[]
 
! Package scrkbase Error: unknown KOMA option `'.
 
See the scrkbase package documentation for explanation.
Type  H <return>  for immediate help.

Fals ja, soll dieser Kommentar Leser dieses Beitrags darauf hinweisen.

Liebe Grüße,

Paul

Bild von Markus Kohm

\documentclass[fontsize = 12pt , 
pagesize]{scrbook}
 
\begin{document}
Test
\end{document}

läuft bei mir ohne Probleme durch. Getestet habe ich mit KOMA-Script 3.04a und der letzten für TeXLive 2008 per tlmgr verfügbaren Version 3.03a. 3.03 ist so alt, dass ich die nicht mehr vorrätig halte. Ich wüsste aber nicht, weshalb es dort anders sein sollte.

Übrigens funktioniert sogar:

\documentclass[fontsize = 1 2pt , 
pagesize]{scrbook}

Dabei wird sogar das Leerzeichen zwischen der »1« und der »2« entfernt.

Auch funktioniert

\documentclass{scrbook}
\KOMAoptions{fontsize = 12pt , 
pagesize}
\begin{document}
Test
\end{document}

einwandfrei (mit besagten Versionen). Hier darf man jedoch kein Leerzeichen zwischen die »1« und die »2« setzen. So weit wollte ich dann doch nicht gehen, weil es ggf. auch Nachteile bei der Eingabe erwünschter Leerzeichen haben kann.

Support gibt es übrigens immer nur für die aktuelle Version. Es ist Glück, wenn ich die gewünschte ältere Version noch zusätzlich installiert habe und die Zeit finde, auch noch gegen diese zu testen, falls das Problem mit der neusten Version nicht auftritt.

Entschuldigung, dass ich kein Minimalbeispiel gab. Ich schloss einfach von der gleichen Fehlermeldung auf das gleiche Problem.

\documentclass{scrbook}
\KOMAoptions{fontsize = 12pt,}
\begin{document}
Test
\end{document}

Mit dem (unnötigen) Komma nach pagesize funktioniert es nicht unter v3.03, aber unter v2.95b tat es das.

Obwohl es vielleicht syntaktisch falsch ist, hat die frühere Funktion Vorteile bei der Verwendung von Vorlagen, wo man einfach Optionen mit % deaktivieren möchte. Dann muss bei der Deaktivierung der letzten Option nicht auch das Komma bei der Option davor löschen.

Die Alternative ist, das Komma auf die neue Zeile zu schreiben und dann % davor zu schreiben.

Comments for "Nach Update auf Miktex 2.7: LCO-Datei nun inkompatibel?" abonnieren