Unerwünschte zusätzliche Leerzeichen bei Tokenize

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: Unerwünschte zusätzliche Leerzeichen bei Tokenize

von Michael_Gast » Mo 12. Jun 2017, 14:56

Hallo Ulrike

Ich danke dir für die Hilfe.

Du hast mir das Tor aufgestossen zur neuen Latex3-Welt. Sieht spannend aus, ich muss mich da aber noch ein wenig einlesen und bei Adam und Eva (bzw. HelloWorld) anfangen.

von u_fischer » Mo 12. Jun 2017, 11:31

Das Paket ist fehlerhaft, es hat um die 10 Stellen, wo es Leerzeichen nicht korrekt auskommentiert hat. (Und dein Code fügt ebenfalls welche ein.)

Ich würde Kommalisten mit expl3 bearbeiten:
\documentclass{scrartcl}
\usepackage{xparse}

\ExplSyntaxOn

\NewDocumentCommand\parsetokens { m }
{
 \clist_set:NV \l_tmpa_clist { #1 }
 \clist_map_inline:Nn \l_tmpa_clist{##1}
} 

\ExplSyntaxOff

\begin{document}

\newcommand{\Source}{this,is,a,short,test}
The string \emph{\Source} contains the following tokens:
\parsetokens {\Source}

\end{document} 

Unerwünschte zusätzliche Leerzeichen bei Tokenize

von Michael_Gast » Mo 12. Jun 2017, 10:33

Hallo zusammen

Ich habe das Problem, dass bei der Ausgabe von zerlegten Texten (mit Hilfe des Pakets tokenizer) zusätzliche Leerzeichen eingefügt werden.

Hat jemand von euch eine gute Idee oder einen Tipp?

Danke im Voraus!
\documentclass{scrartcl}

\usepackage[trim]{tokenizer} 
\setlength\parindent{0pt}

\begin{document}

\newcommand{\Source}{this,is,a,short,test}
The string \emph{\Source} contains the following tokens:
\whiledo{\not\equal{\Source}{}}
{
\GetTokens{TokenOne}{TokenTwo}{\Source}
\TokenOne
\let\Source\TokenTwo
}

\end{document}
Das tokenizer-Paket bietet noch eine Option Trim, die hat keinen Einfluss bei mir.

Ich habe versucht, Leerzeichen direkt bei der Ausgabe zu entferne. Folgender Code verkleinert mir die Leerzeichen, ganz eliminiert werden sie aber nicht.
\documentclass{scrartcl}

\usepackage[trim]{tokenizer} 
\setlength\parindent{0pt}

\begin{document}

\newcommand{\Source}{this,is,a,short,test}
The string \emph{\Source} contains the following tokens:
\whiledo{\not\equal{\Source}{}}
{
\GetTokens{TokenOne}{TokenTwo}{\Source}
\unskip\TokenOne\ignorespaces
\let\Source\TokenTwo
}

\end{document}

Nach oben