Potenzen in C++ Quelltext

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


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

Potenzen in C++ Quelltext

Beitrag von Andre2786 »

Hallo,
ich möchte meinen Quellcode (MS Visual C++2010 Express) in Latex übertragen. Im Quelltext hat ein "Button" ein "x²" als Bezeichnung. Damit gelingt keine Kompilierung. Lasse ich die hochgestellte "2" über dem "x" weg, sieht alles so aus wie es gewünscht wird -> bis auf die Potenz.
Kann mir jemand weiterhelfen?
Danke im Vorab!
Gruß Andre
\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,gray]{xcolor} %%Für Quellcode
\usepackage[scaled=0.78]{luximono} %%Für Quellcode

\begin{document}

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

\lstinputlisting[language=C++, breaklines=true, breakautoindent=true, basicstyle=\scriptsize, numbers=left, numberstyle=\tiny, stepnumber=1, numbersep=5pt, frame=sigle, framerule=0.1pt]
{Hallo_Welt.h}

\end{document}
Dateianhänge
Hallo_Welt.h
(3.32 KiB) 299-mal heruntergeladen

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

Beitrag von Bartman »

Du hast in Deiner Header-Datei noch eine weitere Problemquelle.

Außerdem empfehle ich die folgenden Ergänzungen Deiner Optionen:
\lstinputlisting[
	language=[Visual]C++,% <- geändert
	breaklines=true,
	breakautoindent=true,
	basicstyle=\scriptsize\ttfamily,% <- geändert
	numbers=left,
	numberstyle=\tiny,
	stepnumber=1,
	numbersep=5pt,
	frame=sigle,
	framerule=0.1pt
]{Hallo_Welt.h}

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

Beitrag von Andre2786 »

Hallo Bartman,

vielen Dank für deine Antwort und Hilfe.

Das "Problem" in der Header-Datei ist genau, um was es geht. Ein Button hat die Bezeichnung "x²" und damit kompiliert es nicht. Sobald ich im Textfeld im Quellcode unter C++ eine Potenz stehen habe, bekomme ich keinen Ausdruck in Tex zustande. Deshalb ja auch meine Header-Datei mit dem "Problem".
Ich hoffe ich konnte mich verständlich ausdrücken. Mit anderen Worten, wer es schafft die Header-Datei in Druckform zu bringen, hat das Problem gelöst.
Vielen Dank im Voraus.
Andre

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

Beitrag von rais »

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}}
@Bartman: wenn schon, dann
language={[Visual]C++}
in der Option zu \lstinputlistings: Eckige Klammern lassen sich nicht direkt schachteln.

BTW: `frame=sigle' sollte wohl `frame=single' werden

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

Danke für die Berichtigung. Ich hatte meine Ergänzung nicht mehr getestet.

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

Beitrag von Andre2786 »

@rais
Vielen Dank Rainer, genau was ich gesucht habe!!
Wenn du jetzt noch einen Tipp hast, wie ich auch die Farben des Quellcodes hinbekomme, wäre ich doppelt dankbar!
Viele Grüße
Andre


\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,gray]{xcolor} %%Für Quellcode 
\usepackage[scaled=0.78]{luximono} %%Für Quellcode 
\let\orgmathtwosuperior\mathtwosuperior
\renewcommand*\mathtwosuperior{\ensuremath{\orgmathtwosuperior}}

\begin{document} 

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

\lstinputlisting[{[Visual]language=C++}, breaklines=true, breakautoindent=true, basicstyle=\scriptsize, numbers=left, numberstyle=\tiny, stepnumber=1, numbersep=5pt, frame=sigle, framerule=0.1pt] 
{Hallo_Welt.h} 

\end{document} 
 
Dateianhänge
Hallo_Welt.h
(3.32 KiB) 234-mal heruntergeladen

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

Beitrag von Andre2786 »

:roll:
Das MB läuft hier zwar noch nicht, aber bei mir im Original macht es das!!

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

Beitrag von Andre2786 »

Noch ein Versuch (ohne Fehler!?)
\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,gray]{xcolor} %%Für Quellcode
\usepackage[scaled=0.78]{luximono} %%Für Quellcode
\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=\scriptsize\ttfamily,
 numbers=left,
 numberstyle=\tiny,
 stepnumber=1,
 numbersep=5pt,
 frame=sigle,
 framerule=0.1pt]
{Hallo_Welt.h}

\end{document}




Dateianhänge
Hallo_Welt.h
(3.32 KiB) 240-mal heruntergeladen

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

Beitrag von Bartman »

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

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

Beitrag von Andre2786 »

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!!

Antworten