von Kanudl » Sa 11. Okt 2014, 22:44
Servus zusammen,
ich habe ein kleines Problem und komme einfach nicht weiter.
In meiner Präambel habe ich 2 definelistings:
\usepackage{listings}
\usepackage{color}
\definecolor{codegreen}{rgb}{0,0.6,0}
\definecolor{codegray}{rgb}{0.5,0.5,0.5}
\definecolor{codepurple}{rgb}{0.58,0,0.82}
\definecolor{bashcode}{rgb}{0,0,0}
\definecolor{backcolour}{rgb}{0.9,0.9,0.9}
\lstdefinestyle{bash}
{
columns=flexible,
showstringspaces=false,
basicstyle=\footnotesize\ttfamily,
frame=single,
frameround=tttt
}
\lstdefinestyle{python}
{
language=python,
backgroundcolor=\color{backcolour},
commentstyle=\color{codegreen},
keywordstyle=\color{magenta},
numberstyle=\tiny\color{codegray},
stringstyle=\color{codepurple},
basicstyle=\footnotesize\ttfamily,
breakatwhitespace=false,
breaklines=true,
captionpos=b,
keepspaces=true,
numbers=left,
numbersep=5pt,
showspaces=false,
showstringspaces=false,
showtabs=false,
tabsize=2
}
Anschließend versuche ich die Konventionen in einer Tabelle zu erläutern:
\begin{table}[h]
\begin{tabular}{p{0.25\textwidth}|p{0.75\textwidth}}
\textbf{Konventionen} & \textbf{Beschreibung} \\\hline\hline
\texttt{0x1234} & Diese Schreibweise kennzeichnet Eingaben, Namen, Adressen oder zeigt Ausgaben. \\\hline
"{}cd ..." & Diese Schreibweise kennzeichnet einen Programmcode \\\hline
\Ctrl + \keystroke{a} & Zeigt Tastenkombinationen an. \\\hline
\emph{Highlighted} Text & Hervorgehobener Text weist auf wichtige Dinge hin oder dient als Kommentar im Programmcode oder Eingaben. \\\hline
\begin{lstlisting}[style=python]
import numpy as np
def incmatrix(genl1,genl2):
return M
\end{lstlisting} & Stellt den Programmcode dar \\\hline
\end{tabular}\normalsize
\caption{Text-Konventionen}
\label{table:Text-Konventionen}
\end{table}
Und erhalte anschließend den Fehler:
! Missing \endgroup inserted.
Wenn ich aber zusätzlich ein
in die Präambel einfüge funktioniert es, jedoch vermischt er dann die definestyles. D. h. ich habe die festgelegten Parameter von definestyle bash in Kombination mit definestyle python.
Gibt es eine Möglichkeit das lstset blockweise einzufügen, also bei Bedarf, wenn ich einen Codeblock einfüge? Oder kann man einfach 2 lstset einfügen, die dann getrennt funktionieren?
Nachtrag:
I've inserted something that you may have forgotten.
(See the <inserted text> above.)
With luck, this will get me unwedged. But if you
really didn't forget anything, try typing `2' now; then
my insertion and my current dilemma will both disappear.
! Missing \endgroup inserted.
Kommt als Fehlermeldung hinzu.
Ebenfalls muss ich die Zeile
\begin{lstlisting}[style=python]
auf
ändern.
Hier ist es dann seltsam. Habe ich kein lstset funktioniert nur definestyle bash und der Code in der Tabelle wird unformatiert als Listing dargestellt und überschneidet einfach die Zeilen in der Tabelle "Konventionen".
Füge ich lstset[style=python] ein, erhalte ich den Code formatiert, allerdings gemischt mit der bash-Formatierung.
Danke und Gruß vorab.

Servus zusammen,
ich habe ein kleines Problem und komme einfach nicht weiter.
In meiner Präambel habe ich 2 definelistings:
[code]\usepackage{listings}
\usepackage{color}
\definecolor{codegreen}{rgb}{0,0.6,0}
\definecolor{codegray}{rgb}{0.5,0.5,0.5}
\definecolor{codepurple}{rgb}{0.58,0,0.82}
\definecolor{bashcode}{rgb}{0,0,0}
\definecolor{backcolour}{rgb}{0.9,0.9,0.9}
\lstdefinestyle{bash}
{
columns=flexible,
showstringspaces=false,
basicstyle=\footnotesize\ttfamily,
frame=single,
frameround=tttt
}
\lstdefinestyle{python}
{
language=python,
backgroundcolor=\color{backcolour},
commentstyle=\color{codegreen},
keywordstyle=\color{magenta},
numberstyle=\tiny\color{codegray},
stringstyle=\color{codepurple},
basicstyle=\footnotesize\ttfamily,
breakatwhitespace=false,
breaklines=true,
captionpos=b,
keepspaces=true,
numbers=left,
numbersep=5pt,
showspaces=false,
showstringspaces=false,
showtabs=false,
tabsize=2
}[/code]
Anschließend versuche ich die Konventionen in einer Tabelle zu erläutern:
[code]
\begin{table}[h]
\begin{tabular}{p{0.25\textwidth}|p{0.75\textwidth}}
\textbf{Konventionen} & \textbf{Beschreibung} \\\hline\hline
\texttt{0x1234} & Diese Schreibweise kennzeichnet Eingaben, Namen, Adressen oder zeigt Ausgaben. \\\hline
"{}cd ..." & Diese Schreibweise kennzeichnet einen Programmcode \\\hline
\Ctrl + \keystroke{a} & Zeigt Tastenkombinationen an. \\\hline
\emph{Highlighted} Text & Hervorgehobener Text weist auf wichtige Dinge hin oder dient als Kommentar im Programmcode oder Eingaben. \\\hline
\begin{lstlisting}[style=python]
import numpy as np
def incmatrix(genl1,genl2):
return M
\end{lstlisting} & Stellt den Programmcode dar \\\hline
\end{tabular}\normalsize
\caption{Text-Konventionen}
\label{table:Text-Konventionen}
\end{table}
[/code]
Und erhalte anschließend den Fehler:
[b]! Missing \endgroup inserted.[/b]
Wenn ich aber zusätzlich ein [code]\lstset[style=python][/code] in die Präambel einfüge funktioniert es, jedoch vermischt er dann die definestyles. D. h. ich habe die festgelegten Parameter von definestyle bash in Kombination mit definestyle python.
Gibt es eine Möglichkeit das lstset blockweise einzufügen, also bei Bedarf, wenn ich einen Codeblock einfüge? Oder kann man einfach 2 lstset einfügen, die dann getrennt funktionieren?
Nachtrag:
[b]I've inserted something that you may have forgotten.
(See the <inserted text> above.)
With luck, this will get me unwedged. But if you
really didn't forget anything, try typing `2' now; then
my insertion and my current dilemma will both disappear.
! Missing \endgroup inserted.[/b]
Kommt als Fehlermeldung hinzu.
Ebenfalls muss ich die Zeile
[code]\begin{lstlisting}[style=python][/code]
auf
[code]\begin{lstlisting}[/code]
ändern.
Hier ist es dann seltsam. Habe ich kein lstset funktioniert nur definestyle bash und der Code in der Tabelle wird unformatiert als Listing dargestellt und überschneidet einfach die Zeilen in der Tabelle "Konventionen".
Füge ich lstset[style=python] ein, erhalte ich den Code formatiert, allerdings gemischt mit der bash-Formatierung.
Danke und Gruß vorab.
:shock: