Dateizugriffe aus comments.sty eliminieren

Antwort erstellen


Diese Frage dient dazu, das automatisierte Versenden von Formularen durch Spam-Bots zu verhindern.
Smilies
:D :) :( :o :shock: :? 8) :lol: :-x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen:

BBCode ist eingeschaltet
[img] ist eingeschaltet
[flash] ist ausgeschaltet
[url] ist eingeschaltet
Smilies sind eingeschaltet

Die letzten Beiträge des Themas

Ich habe die Datenschutzerklärung gelesen und bin damit einverstanden.

   

Wenn du eine Datei oder mehrere Dateien anhängen möchtest, gib die Details unten ein.

Ansicht erweitern Die letzten Beiträge des Themas: Dateizugriffe aus comments.sty eliminieren

von rais » Di 9. Nov 2010, 00:41

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

von pospiech » Mo 8. Nov 2010, 12:25

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?

von Nerd 032F » Mo 8. Nov 2010, 10:08

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.

von pospiech » So 7. Nov 2010, 18:18

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.

von Mechanicus » So 7. Nov 2010, 17:55

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

Dateizugriffe aus comments.sty eliminieren

von pospiech » So 7. Nov 2010, 13:01

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

Nach oben