Potenzen in C++ Quelltext

Antwort erstellen


Diese Frage dient dazu, das automatisierte Versenden von Formularen durch Spam-Bots zu verhindern.
Smilies
:D :) :( :o :shock: :? 8) :lol: :-x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen:

BBCode ist eingeschaltet
[img] ist eingeschaltet
[flash] ist ausgeschaltet
[url] ist eingeschaltet
Smilies sind eingeschaltet

Die letzten Beiträge des Themas

Ich habe die Datenschutzerklärung gelesen und bin damit einverstanden.

   

Wenn du eine Datei oder mehrere Dateien anhängen möchtest, gib die Details unten ein.

Ansicht erweitern Die letzten Beiträge des Themas: Potenzen in C++ Quelltext

von esdd » Mo 3. Apr 2017, 01:00

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.

von Bartman » Mo 3. Apr 2017, 00:22

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.

von rais » So 2. Apr 2017, 22:01

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

von Bartman » So 2. Apr 2017, 19:55

@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}

von Andre2786 » So 2. Apr 2017, 18:48

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

von u_fischer » So 2. Apr 2017, 17:40

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.

von rais » So 2. Apr 2017, 17:33

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

von u_fischer » So 2. Apr 2017, 15:42

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]

von Andre2786 » So 2. Apr 2017, 15:15

Nein, in meinem Original läuft es durch.
Habe die Potenzen noch auf ^3 geändert und auch das läuft durch:
Vielen Dank!
Wenn jetzt noch ein Tipp mit den Farben kommt, bin ich happy!!

von Bartman » So 2. Apr 2017, 14:56

Bei Dir wird nicht die folgende Fehlermeldung ausgegeben?
LaTeX Error: \mathtwosuperior undefined.

Nach oben