Seite 2 von 2

Verfasst: So 2. Apr 2017, 15:42
von u_fischer
rais hat geschrieben:das Problem ist hier nicht, dass das Zeichen (²) nicht erkannt wird, sondern dass es im Mathemodus gesetzt sein muss. Du könntest -- südlich von \usepackage[..]{inputenc} -- so etwas versuchen:
\let\orgmathtwosuperior\mathtwosuperior
\renewcommand*\mathtwosuperior{\ensuremath{\orgmathtwosuperior}}
Ich würde eher
\usepackage{textcomp}
\DeclareInputText{178}{\ifmmode\mathtwosuperior\else\texttwosuperior\fi}
machen, dann passt es sich besser der Textschrift an. (178 hängt natürlich von ansinew ab).[/quote][/code]

Verfasst: So 2. Apr 2017, 17:33
von rais
Andre2786 hat geschrieben: Wenn jetzt noch ein Tipp mit den Farben kommt, bin ich happy!!
naja, solange Du das xcolor-Paket dazu zwingst, alles grau darzustellen, wird das mit den Farben nix :wink:
\documentclass{scrartcl}
\usepackage[ngerman]{babel}
\usepackage[T1]{fontenc}
\usepackage[ansinew]{inputenc}
\usepackage{lmodern} %Type1-Schriftart für nicht-englische Texte
\usepackage{listings} %%Einbinden von Quellcode
\usepackage[table]{xcolor} %%Für Quellcode
\usepackage[scaled=0.78]{luximono} %%Für Quellcode
\usepackage{textcomp}
\DeclareInputText{178}{\ifmmode\mathtwosuperior\else\texttwosuperior\fi}
%\let\orgmathtwosuperior\mathtwosuperior
%\renewcommand*\mathtwosuperior{\ensuremath{\orgmathtwosuperior}}
\begin{document}

\pagestyle{empty} %%Keine Kopf-/Fusszeilen auf den ersten Seiten.

\lstinputlisting[
  language={[Visual]C++},
  breaklines=true,
  breakautoindent=true,
  basicstyle=\ttfamily\scriptsize,
  commentstyle=\color{black!30},
  stringstyle=\color{red},
  identifierstyle=\color{blue},
  keywordstyle=\color{cyan},
  directivestyle=\color{green},
  numbers=left,
  numberstyle=\tiny,
  stepnumber=1,
  numbersep=5pt,
  frame=single,
  framerule=0.1pt]
{Hallo_Welt.h}

\end{document}
@u_fischer: Danke!

@Bartman: utf8? Da wird \mathtwosuperior in der Tat nicht definiert, bei dem hier verwendeten ansinew schon:
\providecommand{\mathtwosuperior}{{^2}}
%[..]
\DeclareInputMath{178}{\mathtwosuperior}
(ansinew.def)...da müsste man sich für utf8 wohl noch was anderes einfallen lassen.

VG
Rainer

Verfasst: So 2. Apr 2017, 17:40
von u_fischer
Bei utf8 kannst du textcomp laden, dann ist ² als \texttwosuperior definiert. Aber dann funktioniert listings natürlich nicht direkt, und du musst ² über literate ersetzen.

Verfasst: So 2. Apr 2017, 18:48
von Andre2786
Wow, vielen Dank für eure Hilfe.
Die letzte Version mit \usepackage{textcomp} funktioniert bei mir nicht, da ich auch noch 3. Potenzen im Quellcode habe und meine Erweiterung dort nicht greift. Dafür läuft die vorherige Variante mit \let\orgmath... und das ist ausreichend für mich!
Ich erlaube mir, den Status auf "Beantwortet" zu setzen!
Viele Grüße
Andre

Verfasst: So 2. Apr 2017, 19:55
von Bartman
@rais: Ja, UTF-8.

@u_fischer: Danke.

Ein Beispiel für alle, die es interessiert:
\begin{filecontents*}{Hallo_Welt.h}
this->button1->Text = L"Klick mich x²";
\end{filecontents*}

\documentclass{scrartcl}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[ngerman]{babel}
\usepackage{lmodern} %Type1-Schriftart für nicht-englische Texte
\usepackage{listings} %%Einbinden von Quellcode
\usepackage[table]{xcolor} %%Für Quellcode
\usepackage[scaled=0.78]{luximono} %%Für Quellcode
\usepackage{textcomp}

\lstdefinestyle{VC++}{
	language=[Visual]C++,
	breaklines=true,
	breakautoindent=true,
	basicstyle=\ttfamily\scriptsize,
	commentstyle=\color{black!30},
	stringstyle=\color{red},
	identifierstyle=\color{blue},
	keywordstyle=\color{cyan},
	directivestyle=\color{green},
	numbers=left,
	numberstyle=\tiny,
	stepnumber=1,
	numbersep=5pt,
	frame=single,
	framerule=0.1pt,
	literate=%
		{Ö}{{\"O}}1
		{Ä}{{\"A}}1
		{Ü}{{\"U}}1
		{ß}{{\ss}}1% 2 durch 1 ersetzt
		{ü}{{\"u}}1
		{ä}{{\"a}}1
		{ö}{{\"o}}1
		{²}{{\texttwosuperior}}1
}

\begin{document}
\lstinputlisting[style=VC++]{Hallo_Welt.h}
\end{document}

Verfasst: So 2. Apr 2017, 22:01
von rais
Andre2786 hat geschrieben: Die letzte Version mit \usepackage{textcomp} funktioniert bei mir nicht, da ich auch noch 3. Potenzen im Quellcode habe und meine Erweiterung dort nicht greift.
das wäre dann wohl
\DeclareInputText{179}{\ifmmode\maththreesuperior\else\textthreesuperior\fi}
@Bartman: warum sagst Du, `ß' wäre zwei Zeichen breit? Oder was versteh ich nich?

VG
Rainer

Verfasst: Mo 3. Apr 2017, 00:22
von Bartman
rais hat geschrieben:@Bartman: warum sagst Du, `ß' wäre zwei Zeichen breit? Oder was versteh ich nich?
Ich habe den Quelltext aus einem Beitrag von esdd übernommen. In anderen Threads sah ich stattdessen die Zahl 1 an der Stelle.

Verfasst: Mo 3. Apr 2017, 01:00
von esdd
Bartman hat geschrieben:
rais hat geschrieben:@Bartman: warum sagst Du, `ß' wäre zwei Zeichen breit? Oder was versteh ich nich?
Ich habe den Quelltext aus einem Beitrag von esdd übernommen. In anderen Threads sah ich stattdessen die Zahl 1 an der Stelle.
Ich habe das dort korrigiert.