Oft begegnet einem das Verdikt, daß man keine Klassen oder Styles verändern soll. Warum eigentlich nicht? Es ist mittlerweile gängige Praxis, Definitionen umzudefinieren und sich nicht an die Definitionen der Klassen und Styles zu halten. Sogar neue Klassen und Styles benutzen Der einzige Grund für dieses Verdikt ist vermutlich, daß bestehende Vorlagen nicht überschrieben werden sollen, es genügte also, die veränderte Datei unter neuem Namen abzuspeichern, und fertig ist die Laube, oder gibt es noch mehr Argumente gegen eine Veränderung der Klassen und Styles? gefragt 13 Okt '13, 01:08 ctansearch Qrrbrbirlbel |
Von einem Verdikt wie Du es nennst, habe ich so noch nicht gehört. Gründe, die dagegen sprechen eine Paket- oder Klassen-Datei direkt zu verändern, fallen mir aber ein paar ein:
beantwortet 13 Okt '13, 09:51 cgnieder Der Punkt Praktikabilität ist eigentlich der wichtigste. Der Punkt Kooperation relativiert sich, wenn man einen Teil der Präambel in eine andere Datei verschiebt (sei es eine mehr oder weniger eigenständige Paketdatei mit der Endung
(13 Okt '13, 21:57)
Qrrbrbirlbel
@Qrrbrbirbel Finde ich überhaupt nicht. Sagen wir, ich habe eine modifizierte Version von
(13 Okt '13, 22:42)
cgnieder
@Qrrbrbirbel Praktikabilität mag für einen alleine der wichtigste Punkt sein, sobald es aber um LaTeX-Einsatz auf der Arbeit und oder Kooperation geht, wird m.E. Lizenz der wichtigste.
(13 Okt '13, 22:44)
cgnieder
Da hätte ich eine Anregung, die praktikabel wäre. Wenn man in jede Klasse oder jeden Style(ich verwende das Wort ab jetzt für .sty- Dateien) eine Sektion
(13 Okt '13, 23:15)
ctansearch
1
@ctansearch Ich kann Dir versichern: kein Paket-Autor wird so eine Umgebung einfügen und die Basis-Pakete und Klassen bekommen bestenfalls noch einen gelegentlichen Bugfix (in
(13 Okt '13, 23:26)
cgnieder
1
@ctansearch Eine Umgebung bedeutet bei LaTeX auch eine Gruppe. Definitionen in einer Gruppe, die global gelten sollen, müssen explizit global vorgenommen werden. Damit wäre eine solche Umgebung eher unangenehm als angenehm. Ist aber auch nicht notwendig, denn es gibt ja die Wrapper-Klassen und Wrapper-Pakete. Siehe dazu meine Antwort.
(14 Okt '13, 09:19)
saputello
Ergebnis 5 von 6
show 1 more comments
|
Es ist bei LaTeX normalerweise gar nicht erforderlich, dass man Klassen oder Pakete editiert, um eine abgewandelte Klasse bzw. ein abgewandeltes Paket zu erstellen. Bei LaTeX2e wurde das Problem von abgewandelten Klassen und Paketen von Anfang an im Design mit vorgesehen und zwar in Form der Wrapper-Klassen und der Wrapper-Pakete. Im einfachsten Fall, nämlich in dem Fall, dass man die Definition der Klassenoptionen bzw. der Paketoptionen nicht ändern will, lädt eine solche Wrapper-Klasse einfach die Originalklasse über
In Dokumenten wird dann statt Bei einem Wrapper-Paket sieht das ganze sehr ähnlich aus:
Auch hier sollte dann im Dokument statt des Originalpakets das eigene verwendet werden. Auch dass Pakete teilweise bereits von der Klasse geladen werden, ist in diesem Zusammenhang kein echtes Problem. Man kann trotzdem das eigene Paket noch nach der Klasse laden, das Will man auch die Optionenverarbeitung verändern, so ist der Aufwand ggf. größer. Dann lädt man Klasse oder Paket mit Zusätzlich zu dem hier genannten Prinzip der Wrapper-Klassen und -Pakete gibt es noch das Prinzip der Konfigurationsdateien, das ebenfalls bereits in einem Kommentar von Clemens genannt wurde. Für LaTeX selbst und die Kernpakete findet man einige Informationen dazu in »Configuration Option for LaTeX2ε«. Ob andere Klassen und Pakete ebenfalls diese Möglichkeit bieten, ist meist in deren Anleitung dokumentiert. Wie sich zeigt, bietet LaTeX hier auf der Implementierungsebene für Klassen und Pakete bereits Konzepte an, die weit leistungsfähiger als die TeX-Primitiven zum Laden von Dateien sind. Natürlich könnte man diese auch mit plainTeX nachbilden, landet dann aber zunehmend beim Nachprogrammieren von Formaten wie LaTeX oder ConTeXt. Daher ist es durchaus lohnend, nicht nur alles selbst irgendwie lösen zu wollen, sondern sich auch mit den Schichten dieser Formate zu beschäftigen und zu schauen, wie dergleichen bei diesen bereits gelöst ist. Aber natürlich ist bei vielen Lizenzen auch die Erstellung eines abgeleiteten bzw. modifizierten Werkes möglich. Zu den Fragen der Praktikabilität, der Lizenzen etc. dabei siehe Clemens' Antworten. Bei den Lizenzen sei nur noch darauf hingewiesen, dass Distribution meist nicht nur bedeutet, dass man ein Paket oder Teile davon, über das Internet verteilt. Auch die Verteilung im lokalen Netzwerk beispielsweise für Familienmitglieder oder Mitarbeitet ist in der Regel bereits eine Distribution. Nach LPPL ist es übrigens nicht zwingend notwendig, eine Datei umzubenennen. Hingegen muss man alle Selbstidentifikationen ändern. Das betrifft bei Klassen beispielsweise den Klassennamen bei beantwortet 14 Okt '13, 09:26 saputello |
Vielleicht solltest Du erwähnen, dass mit „Styles“ Pakete gemeint sind. Wenn ich mich nicht irre, nannte man das bei LaTeX 2.09 noch so, da das aber seit 20 Jahren durch 2e abgelöst ist, wird dem durchschnittlichen Anwender der Begriff vermutlich nicht geläufig sein.
Habe ich von der Datei-Endung .sty abgeleitet.
@ctansearch Ich glaube, bei LaTeX 2.09 wurden die auch Styles genannt und es gab noch keine Pakete oder Klassen im heutigen Sinn. So weit ich weiß gab es nur Styles, etwa
article.sty
oderbook.sty
. (Das sage ich nur vom Hörensagen, war vor meiner LaTeX-Zeit...)Ich habe das damals mitgemacht. Tatsächlich gab es bei LaTeX 2.09 nur styles, egal ob sie eine Dokumentart beschrieben (heute Klassen) oder eine Erweiterung (heute Pakete). Während man heute spätestens an der Endung erkennt, ob man etwas zusätzlich zur Klasse lädt oder als Klasse, musste man früher wissen ob man etwas zusätzlich zu einem document style als option style lädt oder als document style. Auch die Optionenschnittstelle war damals bei weitem nicht so komfortabel wie heute. Dabei ist LaTeX2e nur als kleiner Schritt Richtung LaTeX3 gedacht, wo das alles noch besser werden soll …