Dateizugriffe aus comments.sty eliminieren

Redefinition von Makros, Definition eigener Befehle sowie neuer Umgebungen


pospiech
Moderator
Moderator
Beiträge: 247
Registriert: Do 3. Jul 2008, 11:40
Wohnort: Hannover
Kontaktdaten:

Dateizugriffe aus comments.sty eliminieren

Beitrag von pospiech »

Ich verwende comments.sty zum nicht ausführen von LaTeX Code in der Präambel. Leider schreibt das Paket einfach alles kommentierte in eine Datei, was die Ausführung verlangsamt und unnötig ist.

Mein Problem ist, dass ich nicht verstehe wie das Paket funktioniert. Ich sehe zwar dass es ein ein \newwrite definiert, das Schreiben in \WriteCommentLine passiert, was wiederum auf \ThisComment gemappt wird (let). Das taucht wiederum in \ProcessCommentLine auf.
Für mich ist das leider Spaghetticode...

Was ich nun eigentlich möchte ist ein umgeschriebenes Paket (z.B. skipcode.sty) das darauf basiert, aber ohne den ganzen write Kram.

Der (eigentliche) Quellcode ist nur ca. 100 Zeilen lang, wollte ihn aber nicht komplett hier posten:
http://mirror.ctan.org/macros/latex/con ... omment.sty

Mechanicus
Forum-Guru
Forum-Guru
Beiträge: 322
Registriert: Mi 8. Okt 2008, 18:41
Wohnort: Hamburg

Beitrag von Mechanicus »

Hi,

dann nutze doch eine eigene Umgebung ala
\makeatletter
\newenvironment{mycomment}{%
 \begin{lrbox}{\@tempboxa}}{\end{lrbox}}
\makeatother
Der Inhalt wird nicht ausgeben. Das kannst du aber durch eine einfache Abfrage erweitern.

Gruß
Marco
Personalführung ist die Kunst der Vorgesetzten den Untergebenen so schnell über den Tisch zu ziehen, dass er die Reibungshitze als Nestwärme empfindet.

pospiech
Moderator
Moderator
Beiträge: 247
Registriert: Do 3. Jul 2008, 11:40
Wohnort: Hannover
Kontaktdaten:

Beitrag von pospiech »

Das grundlegende Problem wurde in diesem Thread schon diskutiert: http://www.golatex.de/umgebung-die-den- ... t5631.html

Das Problem ist, dass 'normale' Umgebungen eine Gruppe definieren und das das innerhalb einer Präambel problematisch ist.

Das Paket comments scheint einen anderen Weg zu verfolgen, der mir im Details aber nicht klar ist.

Nerd 032F

Beitrag von Nerd 032F »

comment arbeitet so, dass es im Fall von mit \includecomment aktivierten Umgebungen, die Inhalt der Umgebungen jedes Mal in eine Datei schreibt, um diese nach der Umgebung dann einzulesen. Im Fall von mit \excludecomment deaktivierten Umgebungen wird der Inhalt hingegen nicht in die Datei geschrieben.

Warum gehst Du nicht einfach den alternativen Weg, den KOMA Dir gezeigt hat, also indem Du neue Schalter mit \newif definierst und dann \begin{foo}...\end{foo} durch \ifVariantSectionfoo...\fi ersetzt? Für das Laden von Paketen reicht das doch allemal. Ich verstehe ehrlich gesagt nicht, warum Du darauf bestehst, eine Umgebung zu verwenden.

pospiech
Moderator
Moderator
Beiträge: 247
Registriert: Do 3. Jul 2008, 11:40
Wohnort: Hannover
Kontaktdaten:

Beitrag von pospiech »

Nerd 032F hat geschrieben: Warum gehst Du nicht einfach den alternativen Weg, den KOMA Dir gezeigt hat, also indem Du neue Schalter mit \newif definierst und dann \begin{foo}...\end{foo} durch \ifVariantSectionfoo...\fi ersetzt? Für das Laden von Paketen reicht das doch allemal. Ich verstehe ehrlich gesagt nicht, warum Du darauf bestehst, eine Umgebung zu verwenden.
Mir geht es um die Lesbarkeit. Gute Editoren erkennen Umgebungen automatisch als Gruppierung und stellen Umgebungen andersfarbig dar. Zudem wirkt \if... \fi auf Nutzer die nur eine Einstellung ändern wollen abschreckender als ein \begin{...} ...

Zu comments.sty. Kann man das auschreiben und wieder einlesen nicht ganz umgehen?

rais
Forum-Guru
Forum-Guru
Beiträge: 411
Registriert: Di 21. Sep 2010, 00:37

Beitrag von rais »

Hallo Matthias,
pospiech hat geschrieben: Mir geht es um die Lesbarkeit. Gute Editoren erkennen Umgebungen automatisch als Gruppierung und stellen Umgebungen andersfarbig dar. Zudem wirkt \if... \fi auf Nutzer die nur eine Einstellung ändern wollen abschreckender als ein \begin{...} ...
ich weiß ja nicht, was einen `guten Editor' ausmacht -- nutze selbst nur einen eher simplen Texteditor -- aber sollte so ein `guter Editor' nicht TeX-Primitive wie \if...\fi vor LaTeX-Konstrukten darstellen können?
pospiech hat geschrieben: Zu comments.sty. Kann man das auschreiben und wieder einlesen nicht ganz umgehen?
ich mag mich ja irren -- wäre ja nicht das erste Mal :roll: -- imho hat Victor ja gerade diesen Weg über eine extra-Datei gewählt, weil es eben nicht so einfach direkt im Code zu realisieren wäre ... BTW: inwiefern macht sich denn diese `Verlangsamung' bemerkbar?

MfG
Rainer
One of the joys of travel is visiting new towns and meeting new people---G.Khan (Robert Asprin, Another Fine Myth)

Antworten