Seite 1 von 1

Umlaute in Datei schreiben

Verfasst: Mi 22. Mai 2013, 16:40
von chrizke
Hallo,


ich würde gerne Umlaute, welche zB so im Quelltext stehen
\"o\"a\"u
auch so in eine Datei schreiben.

Folgendes Beispiel schreibt allerdings nachfolgende Befehlskette in die Datei
\documentclass{scrartcl}


\newwrite\tmpfile


\newcommand{\writeSpecialChar}[1]{%
\immediate\write\tmpfile{#1}%
}

\begin{document}

\immediate\openout\tmpfile=tmp.txt

\writeSpecialChar{\"o\"a\"u}

\immediate\closeout\tmpfile
\input{tmp.txt}
\end{document}
\unhbox \voidb@x \bgroup \let \unhbox \voidb@x \setbox \@tempboxa \hbox {o\global \mathchardef \accent@spacefactor \spacefactor }\accent 127 o\egroup \spacefactor \accent@spacefactor \unhbox \voidb@x \bgroup \let \unhbox \voidb@x \setbox \@tempboxa \hbox {a\global \mathchardef \accent@spacefactor \spacefactor }\accent 127 a\egroup \spacefactor \accent@spacefactor \unhbox \voidb@x \bgroup \let \unhbox \voidb@x \setbox \@tempboxa \hbox {u\global \mathchardef \accent@spacefactor \spacefactor }\accent 127 u\egroup \spacefactor \accent@spacefactor 


Wie schaffe ich es nun, dass in der Datei auch das gewünschte steht?

Verfasst: Mi 22. Mai 2013, 16:55
von Epllus
Versuchs mal mit \detokenize:
\documentclass{scrartcl} 


\newwrite\tmpfile 


\newcommand{\writeSpecialChar}[1]{% 
\immediate\write\tmpfile{\detokenize{#1}}% 
} 

\begin{document} 

\immediate\openout\tmpfile=tmp.txt 

\writeSpecialChar{\"o\"a\"u} 

\immediate\closeout\tmpfile 
\input{tmp.txt} 
\end{document}
So kannst du auch Umlaute und Befehlcodes eingeben (gut, bei den Befehlcodes bin ich mir nicht ganz sicher):
\documentclass{scrartcl} 
\usepackage{selinput}
\SelectInputMappings{ adieresis={ä}, germandbls={ß}, }

\newwrite\tmpfile 


\newcommand{\writeSpecialChar}[1]{% 
\immediate\write\tmpfile{\detokenize{#1}}% 
} 

\begin{document} 

\immediate\openout\tmpfile=tmp.txt 

\writeSpecialChar{öäü\dots} 

\immediate\closeout\tmpfile 
\input{tmp.txt} 
\end{document} 
Hoffe es hilft
Epllus

Verfasst: Mi 22. Mai 2013, 16:59
von chrizke
Ja perfekt danke. Das habe ich gesucht.

Dann hoffe ich mal, dass das, was ich damit vorhabe, auch funktioniert.