![Durchgehender Rahmen mit mathematischer Markierung innerhalb der Code-/Algorithmus-Markierung](https://rvso.com/image/420743/Durchgehender%20Rahmen%20mit%20mathematischer%20Markierung%20innerhalb%20der%20Code-%2FAlgorithmus-Markierung.png)
Ich stehe derzeit vor einem ästhetischen Problem. Die Grenzen meines Code-/Algorithmusabschnitts werden durch mathematische Markierungen im Code unterteilt:
Die Tabelle wurde mit dem folgenden Code generiert:
\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage{amsmath, amsfonts}
\usepackage{listings}
\title{Title}
\author{Author}
\date{Date}
\begin{document}
\maketitle
\lstset{
numbers=left,
numberstyle=\small,
numbersep=8pt,
frame = single,
language=Python,
framexleftmargin=15pt
}
\begin{lstlisting}[escapeinside={(*}{*)}]
if (*$\exists s \in S \subset \mathbb{R}^2 \times \{\text{label } | \text{ label } \in \{0,1\} \}$*) with label 1:
(*$r = \underset{\text{label(s) = 1} }{\max ||s||}$*)
else:
(*$r = \underset{\text{label(s) = 0} }{\min ||s||} - 10^{-1000} $*)
return B[0, r]
\end{lstlisting}
\end{document}
Weiß jemand, wie ich die vertikalen Ränder trotz der mathematischen Markierung durchgehend machen kann? Oder zumindest die vertikalen Ränder entfernen kann?
Ich arbeite übrigens bei Overleaf.
Danke schön!
Antwort1
Sie können verwenden tcblisting
, um den Rahmen für Sie zu generieren.
Oder geben Sie zum Entfernen vertikaler Ränder einfach an frame=none
.
\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage{tcolorbox}
\usepackage{amsmath, amssymb}
\tcbuselibrary{listings, breakable, skins}
\title{Title}
\author{Author}
\date{Date}
\newtcblisting{mylisting}{
enhanced,
breakable,
listing only,
sharp corners,
arc=0mm,
colback=white,
boxsep=1mm,
top=0mm,
bottom=0mm,
left=6mm,
right=1mm,
listing options={
numbers=left,
numberstyle=\small,
numbersep=8pt,
language=Python,
escapeinside={(*}{*)}
}
}
\begin{document}
\maketitle
\begin{mylisting}
if (*$\exists s \in S \subset \mathbb{R}^2 \times \{\text{label } | \text{ label } \in \{0,1\} \}$*) with label 1:
(*$r = \underset{\text{label(s) = 1} }{\max ||s||}$*)
else:
(*$r = \underset{\text{label(s) = 0} }{\min ||s||} - 10^{-1000} $*)
return B[0, r]
\end{mylisting}
\end{document}
Antwort2
Es handelte sich um einen Fehler, der listings.sty
in der Dokumentation unter der Überschrift erklärt wird.8.2
und die geänderte Fassung MWE
lautet:
\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage{moreverb}
\usepackage{amsmath,amsfonts,listings}
\usepackage{mdframed}
\begin{document}
\lstset{
numbers=left,
numberstyle=\small,
numbersep=2pt,
%frame = single,
language=Python,
framexleftmargin=15pt
}
\begin{verbatimwrite}{temp.c}
if (*$\exists s \in S \subset \mathbb{R}^2 \times \{\text{label } | \text{ label } \in \{0,1\} \}$*) with label 1:
(*$r = \underset{\text{label(s) = 1} }{\max ||s||}$*)
else:
(*$r = \underset{\text{label(s) = 0} }{\min ||s||} - 10^{-1000} $*)
return B[0, r]
\end{verbatimwrite}
\begin{mdframed}
\lstinputlisting[escapeinside={(*}{*)}]{./temp.c}
\end{mdframed}
\end{document}
Ausgabe