PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Mathe-Symbole in Listings



Helveticus
30-11-2012, 16:42
Hallo

Ich habe in einem Listings Mathe-Symbole eingebunden mit $..$. Dazu habe ich im listings mathescape=true die Matheumgebung erlaubt.

Mein Problem ist nun, dass die Mathe-Symbole im listing anders formatiert werden als der normale Code, also sie werden irgendwie kursiv geschrieben oder so.

Ist es irgendwie möglich, dass die Mathe-Symbole genau gleich wie der übrige Code dargestellt werden? Sonst sieht das unschön aus.

bobmalaria
30-11-2012, 16:53
hi,

versuche mal die option eulergreek, damit werden grichische zeichen upright gesetzt. ansonsten kannst du dich hier dran (http://tex.stackexchange.com/questions/21216/how-can-i-tell-lstlisting-to-use-sans-serif-when-escaping-to-math-mode) versuchen.

Helveticus
30-11-2012, 17:31
Das mit eulergreek funktioniert wohl nicht, da es sich nicht nur um griechische Zeichen handelt, sondern z.B. auch T_{1} etc.

Bei deinem zweiten Ansatz muss man wohl am Anfang des Dokuments den Font verändern, das möchte ich aber nicht. Ich möchte nur, dass sich der Font der Math-Symbole in diesem Einen listing verändert.

Edit: Wie genau verwendet man eulergreek? Bei mir geht das nicht, gibt immer einen Error. eulergreek = true geht auch nicht.

Helveticus
30-11-2012, 22:12
\lstinputlisting
[caption={bla bla bla}
\label{bla}
captionpos=b,language=Java,numbers=left,numberstyl e=\tiny,mathescape=true]
{figures/bla}

Wie kann ich da die eulergreek enablen? Das funktioniert bei mir nicht.

hakaze
01-12-2012, 09:19
Ich denke, der gut Bob wollte dir das Paket sansmath empfehlen (zumindest ist das der 2. Googlehit bei mir für "latex eulergreek"). Damit könnte man zwei verschiedene Sets an Mathefonts hinbekommen. Normalerweise nimmt listings für mathescape nämlich die gleiche Schriftart wie für alle anderen Formeln. Das liegt daran, dass (La)Tex im wesentlichen "nur 4" Fonts pro Dokument kennt: mit Serifen, serifenlos, Schreibmaschine, und für Mathematik. MIt sansmath kann man diese Limitierung hinreichend einfach umgehen. Ansonsten wäre noch der Hinweis auf Xelatex bzw. Luatex, wo du so viele Fonts verwenden kannst, wie du möchtest.

Ohne eine richtiges Minimalbeispiel bzw. weitere Infos deinerseits ist das aber nur schwer zu ergründen (mit dem Schnippsel, der auf ein externes Listing verweist, lässt sich nichts anfangen)!

So könnte es gehen:

\documentclass{scrreprt}

\usepackage[utf8]{inputenc}
\usepackage[ngerman]{babel}
\usepackage[T1]{fontenc}

\usepackage{lmodern, sansmath, listings}

\begin{document}
So im Fließtext $T_1 = \alpha \sin t $ und so im Listing:

\begin{sansmath}
\begin{lstlisting}[caption={bla bla bla}, label={bla},
captionpos=b,language=Java,numbers=left,numberstyl e=\tiny,mathescape=true]
for i:=maxint to 0 do
begin
{ $T_1 = \alpha \sin t $ }
end;
\end{lstlisting}
\end{sansmath}

\end{document}