
Angenommen, Sie verwendenxparseund haben
\NewDocumentCommand{\macro}{+m}{%
\addcontentsline{foo}{#1}%
}%
Mit \macro{some text}
gelangt man in die .aux-Datei zu so etwas wie \@writefile{foo}{some text}
.
Von Zeit zu Zeit wünsche ich mir, dass verarbeitetes Material auf ähnliche Weise unter dem Verbatim-Catcode-Regime tokenisiert wird. D.h.
\verbmacro|some text
some text
some text|
sollte (mit \newlinechar=\endlinechar
und sofortigem Schreiben, um sicherzustellen, dass die Änderung \newlinechar
beim Schreiben in die AUX-Datei wirksam ist) in der AUX-Datei etwa Folgendes ergeben:
\@writeVerbatimArgFile{foo}|some text
some text
some text|
\@writeVerbatimArgFile
könnte sein zweites Argument als +v
Argument vom Typ - verarbeiten.
Der entscheidende Punkt ist:
Wenn Sie \verbmacro
das Argument zu einem +v
-Typ-Argument machen, wird das umgebende Worttrennzeichen entfernt. Es ist jedoch erforderlich, da es \@writeVerbatimArgFile
auch in der .aux-Datei und im -Eintrag erscheinen soll.
Daher lautet meine Frage:
Ergibt das Hinzufügen zuxparseIst ein v
/ +v
-ähnlicher Argumenttyp, bei dem das wörtliche Trennzeichen nicht entfernt wird, sinnvoll?
Gehören die Leute, die das nutzen würden, zu einer so kleinen Minderheit, dass die Umsetzung inxparseist der Aufwand nicht wert?
Bitte verstehen Sie mich nicht falsch: Dies ist keine "Mach es für mich!"-Frage. Ich habe bereits meine eigenen Routinen (nicht basierend aufxparse) für solche Dinge. Beispielsweise die Routine \UDcollectverbarg
im zweiten Beispiel vonmeine Antwortzur Frage "Eindeutige Anforderungs-IDs und Liste der entsprechenden Testmethoden" sammelt verbalisierte Argumente sowohl ohne als auch mit Trennzeichen.
Die Frage ist: Würde ein solcher Argumenttyp oft genug verwendet werden, sodass sich der Aufwand für seine Implementierung und der Einsatz von Speicherressourcen zum Speichern der zugrunde liegenden Makromechanismen lohnen würden?
Auf den ersten Blick könnte man an eine Definition denken \verbmacro
, bei der vor dem Schreiben in die .aux-Datei |
dem +v
Typargument vorangestellt und angehängt wird.
Wenn Sie das tun würden, könnten Sie nicht Dinge tun wie
\verbmacro?some text with | in it?
mehr.
Bei einem fest codierten Eintrag würden Sie einen Eintrag wie diesen |
erhalten :\@writeVerbatimArgFile
\@writeVerbatimArgFile{foo}|some text with | in it|
Dies könnte ein Problem sein.
Wenn das Worttrennzeichen nicht fest codiert, sondern weitergegeben wird, erhalten Sie:
\@writeVerbatimArgFile{foo}?some text with | in it?
, was kein Problem sein sollte …