Benötigt wird ein Befehl oder eine Umgebung, die alle Leerzeichen in einem Text durch ein anderes Zeichen, z. B. „/“, ersetzt und diesen ansonsten unverändert wiedergibt. Die Eingabe soll beispielsweise so aussehen: Open in Online-Editor
\documentclass{article} \newcommand{\MeinBefehl}[1]{#1} % bitte anpassen \begin{document} \MeinBefehl{Fest gemauert in der Erden steht die Form aus Lehm gebrannt} \end{document} Die gewünschte Ausgabe wäre hier „Fest/gemauert/in/der/Erden/steht/die/Form/aus/Lehm/gebrannt“. gefragt 29 Dez '15, 17:04 Cletus |
Das Paket Open in Online-Editor
\documentclass{article} \usepackage{stringstrings} % Ersetzung des Leerzeichens durch den Schrägstrich: \newcommand{\MeinBefehl}[1]{\convertchar{#1}{ }{/}} \begin{document} \MeinBefehl{Fest gemauert in der Erden steht die Form aus Lehm gebrannt} \end{document} beantwortet 29 Dez '15, 21:11 Cletus |
expl3 stellt mit Open in Online-Editor
\documentclass{article} \usepackage{expl3,xparse} \ExplSyntaxOn % #1: tokenlist % #2: search % #3: replace \cs_new_protected:Npn \cletus_replace:nnn #1#2#3 { \tl_set:Nn \l_tmpa_tl {#1} \tl_replace_all:Nnn \l_tmpa_tl {#2} {#3} \tl_use:N \l_tmpa_tl } \NewDocumentCommand \MeinBefehl {m} { \cletus_replace:nnn {#1} {~} {/} } \ExplSyntaxOff \begin{document} \MeinBefehl{Fest gemauert in der Erden steht die Form aus Lehm gebrannt} % optional Zeichen aussuchen, das an Stelle des Leerzeichens verwendet wird: \ExplSyntaxOn \RenewDocumentCommand \MeinBefehl {O{/}m} { \cletus_replace:nnn {#2} {~} {#1} } \ExplSyntaxOff \MeinBefehl[+]{Fest gemauert in der Erden steht die Form aus Lehm gebrannt} \end{document} beantwortet 02 Jan '16, 16:54 cgnieder @Clemens: Mich hat diese Lösung übrigens erst abgeschreckt, bis ich entdeckt habe, dass sie vor allem deshalb so lang ist, weil Du als Alternative noch eine Variante mit optionalem Argument eingebaut für das Ersatzzeichen eingebaut hast. Ja, ich hatte erst nicht gelesen, sondern nur einen Blick darauf geworfen. Am Smartphone liest sich TeXwelt nicht so gut.
(04 Jan '16, 13:15)
saputello
@saputello stimmt, ich versuche auch, TeXwelt nicht am Smartphone zu nutzen (und strafe mich mit diesem Kommentar Lügen ;)). Frohes neues Jahr!
(04 Jan '16, 13:21)
cgnieder
|
Das stand hier. Open in Online-Editor
\documentclass{article} \newcommand*{\strC}{\begingroup \obeyspaces \begingroup\lccode`~=`\ % \lowercase{\endgroup\let~}\vsp \dostrC} \newcommand{\dostrC}[1]{\textnormal{{\slshape\ttfamily#1}}\endgroup} % string constant \newcommand*{\vsp}{\allowbreak\textvisiblespace\allowbreak} % visible space \begin{document} \strC{Hallo Welt: x und y sind die Variablen.~Neuer Satz...} \end{document} beantwortet 29 Dez '15, 18:04 cis Diese Lösung ist für mich schwer durchschaubar. Der Link auf Stackexchange ist allerdings hilfreich und hat zu einer Lösung geführt, die ich in einer Alternativantwort vorstelle.
(29 Dez '15, 21:09)
Cletus
1
@Cletus: Das Zeichen, das da als Ersatz der Leerzeichen (und nur dieser) verwendet wird, ist in
(30 Dez '15, 14:09)
saputello
|
Mit Open in Online-Editor
\documentclass{article} \usepackage{xstring} % Ersetzung des Leerzeichens durch den Schrägstrich: \newcommand{\MeinBefehl}[1]{\StrSubstitute{#1}{ }{/}} \begin{document} \MeinBefehl{Fest gemauert in der Erden steht die Form aus Lehm gebrannt} \end{document} Dabei werden mehrere Leerzeichen übrigens im Gegensatz zur Lösung von @cis nur durch ein Zeichen ersetzt und auch Zeilenumbrüche werden als Leerzeichen behandelt. beantwortet 30 Dez '15, 14:04 saputello |