Nach dem Update und der Zusammenführung von ifluatex, ifxetex etc. zu iftex (https://github.com/latex3/iftex) produziert das folgende einfache Beispiel
\documentclass{scrartcl} \usepackage{iftex} \begin{document} Lorem \end{document}
die Warnungen
Package scrbase Warning: \ifpdftex was redefined (scrbase) at the document preamble. (scrbase) If you did not redefine it by yourself, have a (scrbase) a look at the description of this command at (scrbase) the manual of every package you are using. Package scrbase Warning: \ifVTeX was redefined (scrbase) at the document preamble. (scrbase) If you did not redefine it by yourself, have a (scrbase) a look at the description of this command at (scrbase) the manual of every package you are using.
Diese Warnungen treten sowohl mit der aktuell auf CTAN vorhandenen Version
*File List* scrartcl.cls 2019/10/12 v3.27 KOMA-Script document class (article) scrkbase.sty 2019/10/12 v3.27 KOMA-Script package (KOMA-Script-dependent bas ics and keyval usage) scrbase.sty 2019/10/12 v3.27 KOMA-Script package (KOMA-Script-independent b asics and keyval usage) keyval.sty 2014/10/28 v1.15 key=value parser (DPC) scrlfile.sty 2019/10/12 v3.27 KOMA-Script package (loading files) tocbasic.sty 2019/10/12 v3.27 KOMA-Script package (handling toc-files) scrsize11pt.clo 2019/10/12 v3.27 KOMA-Script font size class option (11pt) typearea.sty 2019/10/12 v3.27 KOMA-Script package (type area) iftex.sty 2019/10/24 v1.0a TeX engine tests ***********
als auch mit der Vorversion 3.27a.3326
*File List* scrartcl.cls 2019/10/28 v3.27a.3326 KOMA-Script document class (article) scrkbase.sty 2019/10/28 v3.27a.3326 KOMA-Script package (KOMA-Script-depende nt basics and keyval usage) scrbase.sty 2019/10/28 v3.27a.3326 KOMA-Script package (KOMA-Script-indepen dent basics and keyval usage) keyval.sty 2014/10/28 v1.15 key=value parser (DPC) scrlfile.sty 2019/10/28 v3.27a.3326 KOMA-Script package (loading files) tocbasic.sty 2019/10/28 v3.27a.3326 KOMA-Script package (handling toc-files) scrsize11pt.clo 2019/10/28 v3.27a.3326 KOMA-Script font size class option (1 1pt) typearea.sty 2019/10/28 v3.27a.3326 KOMA-Script package (type area) iftex.sty 2019/10/24 v1.0a TeX engine tests ***********
auf.
RTFM
Danke für den Hinweis.
Siehe Abschnitt »12.3. Verzweigungen« in der KOMA-Script-Anleitung.
Im übrigen ist iftex kein KOMA-Script-Paket und ich habe keinen Einfluss auf Änderungen dieses Pakets.
\ifpdflatx
gibt es bekanntlich in scrbase seit 2002, damals gab es auch\ifvtex
, das ich aber wegen einer Inkompatibilität und Gezeter von ein paar Leuten 2007 in\ifVTeX
umbenannt habe, Und weil andere Paketautoren auf eine ähnliche Idee aber mit komplett anderer Syntax gekommen sind, sind beide Befehle seit 2016 abschaltbar.Ich habe keine Ahnung, warum
iftex
jetzt unbedingt\ifVTeX
(statt nur\ifvtex
) definieren muss (und auch nicht testet, ob das schon definiert ist). Ich weiß auch nicht, warumiftex
jetzt statt (nur)\ifPDFTeX
plötzlich auch noch\ifpdftex
definieren muss. Für derartige Fragen bin ich einfach die falsche Adresse.Ich beabsichtige nicht, beide Befehle noch einmal umzubenennen. Es gibt diverse Anwender, die KOMA-Script seit Jahrzehnten mit einem generisch gewachsenen Pool an Dokumenten und Präambelcode verwenden. Ich würde diverse davon in den Regen stellen. Das wäre ein kompletter Paradigmenwechsel.
Fehlermeldung an Entwickler von iftex
Ich habe unter https://github.com/latex3/iftex/issues/7 eine entsprechende Meldung abgesetzt.
Edit: Die Reaktion kann jeder für sich deuten.
Edit2: Langsam kommt dann doch etwas Bewegung in die Sache.
Nur so als Bemerkung
David schreibt dort ja:
Das LaTeX-Team hält sich allerdings selbst nicht an diese Konvention. In docstrip.tex, das bekanntlich als Teil von LaTeX base verteil wird, findet sich
\ifToplevel
, das als Anweisung mit einem Argument dokumentiert ist. Das ist insofern etwas brisant als die Konvention offenbar nirgendwo dokumentiert ist, aber besagte Anweisung in einer Dokumentation zu finden ist, die vom LaTeX-Team stammt und mit der Paketautoren relativ früh konfrontiert werden, wenn sie ihre Pakete allgemein zur Verfügung stellen wollen. Ebenso gibt es ein\ifthenelse
mit drei Argumenten im Paket ifthen, für das ausgerechnet David verantwortlich ist, der besagte Regel in obiger Diskussion aufgestellt hat.Die Person aus dem LaTeX-Team, mit die ich darauf hingewiesen habe, führt als Grund, dass man das nicht ändern oder zumindest durch eine neue Form ergänzen und dokumentieren und die alte als deprecated deklarieren kann, das Alter der Anweisungen an. Ich könnte jetzt auflisten, wie alt welche
\if…
-Anweisung in KOMA-Script ist. Aber das bringt ja nichts. Ich sitze ohnehin am kürzeren Hebel.Eine gewisse Person würde mir das hier vermutlich wieder als unverschämten Angriff auslegen. Das soll es aber nicht sein. Es ist nur eine Randbemerkung.
Außerdem wollte ich abschließend noch darauf hinweisen, dass für KOMA-Script die Entscheidung inzwischen gefallen ist. Zu leiden hat darunter ausgerechnet mrpiggi, der den Stein ins Rollen gebracht und jetzt diverse Stellen in seinem Code zu ändern hat. Eine Sonderbehandlung in iftex oder einem anderen Paket halte ich dagegen nicht mehr für zielführend, obwohl natürlich auch andere Pakete nicht mehr funktionieren, beispielsweise pdfcprot.
Danke
MoeWe, auch von mir ein Dankeschön, dass Du auf das Problem aufmerksam gemacht hast und vor allem vielen Dank an mrpiggi: mit der neuen Version v1.0b [2019/11/04] des Pakets
iftex
scheint das Problem behoben zu sein.Problem nur teilweise gelöst
Der Dank sollte in erster Linie an David Carlisle gehen, der sehr bestrebt darin war, zeitnah eine Lösung für das Problem umzusetzen, auch wenn er es erst verursacht hat ;) Es ist verdammt mühselig, möglichst alle Interessen unter einen Hut zu bekommen und dabei größtmöglichste Kompatibilität zu wahren, bei der Unmenge an verschiedenen LaTeX-Paketen.
So und nun zum eigentlichen Text. Das Problem tritt nur dann nicht auf, wenn das Paket
iftex
nachscrbase
geladen wird. Passiert dies vorher, bleiben die Definitionen voniftex
erhalten undscrbase
gibt eine entsprechende Information in der log-Datei aus. Folgendes MWEerzeugt diesen Ausschnitt in der log-Datei
Behelfen kann man sich momentan nur damit, das Paket
scrbase
in jedem Fall voriftex
zu laden. Ob Markus aber momentan oder in Zukunft die Muße dazu findet, entsprechende Anpassungen anscrbase
vorzunehmen, die Definitionen voniftex
(standardmäßig oder optional?) zu überschreiben, steht auf einem anderen Blatt.Bitte respektiert meine Pause
In dieser Woche haben mehrere Anwender versucht, mich unter Umgehung der offiziellen KOMA-Script-Support-Adresse bezüglich irgendwelcher LaTeX-Fragen zu erreichen. Da das auffällig viele waren, bitte ich noch einmal darum, meine Pause zu respektieren. Ich werde mich künftig bemühen auch solche E-Mails (dann eben manuell) entsprechend der Pause zu behandeln, wohl wissend, dass jede davon mich faktisch teilweise daraus heraus reißt und damit davon abhält mit dem notwendigen Abstand und der notwendigen Ruhe eine vernünftige Entscheidung zu treffen, statt mich jetzt zu irgend etwas hinreißen zu lassen.
Natürlich könnte ihr – auch hier – ohne mich beliebig über dieses und andere Themen weiter diskutieren. Es darf auch jeder äußern, wenn er gänzlich anderer Meinung als ich ist.
Diskussion auf github
Auch auf GitHub wird weiter fleißig diskutiert:
https://github.com/latex3/iftex/issues/7#issuecomment-551264519
https://github.com/latex3/iftex/issues/7#issuecomment-551264862
Falls also jemand noch Bedarf hat, sich über die aktuelle Situation zu beschweren oder Lösungsvorschläge anbieten möchte, sollte sich wohl eher dort aufgehoben fühlen, da die Entwickler von
iftex
dort definitiv mitlesen.Grundlegende Änderung
Das Problem wurde nicht zuletzt durch den Einsatz von mrpiggi und David Carlisle aber auch Ulrike Fischer und Frank Mittelbach grundlegend gelöst. Siehe dazu auch:
Den genannten sei für ihre freundliche und hilfreiche Reaktion ausdrücklich gedankt.
Auf die böswilligen Fehldarstellungen aus anderer Richtung werde ich hingegen nicht weiter eingehen.