![Borda contínua com marcação matemática na marcação de código/algoritmo](https://rvso.com/image/420743/Borda%20cont%C3%ADnua%20com%20marca%C3%A7%C3%A3o%20matem%C3%A1tica%20na%20marca%C3%A7%C3%A3o%20de%20c%C3%B3digo%2Falgoritmo.png)
Atualmente estou enfrentando um problema estético. As bordas da minha seção de código/algoritmo estão sendo divididas pela marcação matemática no código:
A tabela foi gerada com o seguinte código:
\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}
Alguém sabe como posso fazer com que as bordas verticais sejam contínuas, apesar da marcação matemática? Ou pelo menos remover as bordas verticais?
A propósito, estou trabalhando no Overleaf.
Obrigado!
Responder1
Você pode usar tcblisting
para gerar o quadro para você.
Ou, para remover bordas verticais, simplesmente especifique 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}
Responder2
Foi um bug listings.sty
explicado na documentação sob o título8.2
e o modificado MWE
é:
\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}
Saída