Seite 1 von 1

Das Zeichen # (\char35) in eine Datei schreiben.

Verfasst: Do 24. Mär 2016, 22:18
von godi
Hallo,

wie kann ich das "Sharp"-Zeichen # in eine Datei schreiben?
Wenn ich nur # schreibe dann interpretiert Latex das als Beginn eines Argumentes.

Hier mal ein Beispielcode mit den Versuchen von mir:
\documentclass{article}

\usepackage{newfile}

\newcommand{\writeToFile}{
	\newoutputstream{stream}%
	\openoutputfile{file.h}{stream}%
	\addtostream{stream}{%
		\char35 oder ## oder \# % oder # funktioniert nicht.
	}
	\closeoutputstream{stream}%	
}

\begin{document}
Test
\writeToFile{}
\end{document}
Ich habe es auch schon Probiert, das ganze Problem mit \edef\sharp{\#} zu umgehen, hat aber auch nicht funktioniert.

Das # Zeichen brauche ich für den C-Präprozessor, da ich mir ein Headerfile generieren möchte.

Verfasst: Fr 25. Mär 2016, 08:08
von Noch so einer
Keine Ahnung, wie das mit newfile funktioniert. Normalerweise geht es so:
\documentclass{article}
\usepackage{listings}% Nur, um das Ergebnis gleich zu zeigen
\newwrite\mystream
\immediate\openout\mystream \jobname.h
\immediate\write\mystream{%
  \string# hat funktioniert.
}
\immediate\closeout\mystream

\begin{document}
Test:
\lstinputlisting{\jobname.h}
\end{document}

Verfasst: Fr 25. Mär 2016, 09:31
von godi
Danke,
 \string# hat funktioniert.
funktioniert noch immer wunderbar, auch mit dem Packet newfile! :)