Potenzen in C++ Quelltext

Fragen und Probleme, die nicht den obigen Kategorien zugeordnet werden können


Benutzeravatar
u_fischer
Forum-Meister
Forum-Meister
Beiträge: 4266
Registriert: Do 22. Nov 2012, 11:09
Kontaktdaten:

Beitrag 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]

rais
Forum-Guru
Forum-Guru
Beiträge: 407
Registriert: Di 21. Sep 2010, 00:37

Beitrag 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
One of the joys of travel is visiting new towns and meeting new people---G.Khan (Robert Asprin, Another Fine Myth)

Benutzeravatar
u_fischer
Forum-Meister
Forum-Meister
Beiträge: 4266
Registriert: Do 22. Nov 2012, 11:09
Kontaktdaten:

Beitrag 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.

Andre2786
Forum-Anfänger
Forum-Anfänger
Beiträge: 10
Registriert: Mi 22. Mär 2017, 18:53

Beitrag 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

Bartman
Forum-Meister
Forum-Meister
Beiträge: 2456
Registriert: Do 16. Jul 2009, 21:41
Wohnort: Hessische Provinz

Beitrag 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}
Zuletzt geändert von Bartman am Mo 3. Apr 2017, 02:17, insgesamt 1-mal geändert.

rais
Forum-Guru
Forum-Guru
Beiträge: 407
Registriert: Di 21. Sep 2010, 00:37

Beitrag 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
One of the joys of travel is visiting new towns and meeting new people---G.Khan (Robert Asprin, Another Fine Myth)

Bartman
Forum-Meister
Forum-Meister
Beiträge: 2456
Registriert: Do 16. Jul 2009, 21:41
Wohnort: Hessische Provinz

Beitrag 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.

esdd
Forum-Meister
Forum-Meister
Beiträge: 2561
Registriert: So 7. Feb 2010, 16:36

Beitrag 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.

Antworten