코드/알고리즘 마크업 내 수학 마크업이 있는 연속 테두리

코드/알고리즘 마크업 내 수학 마크업이 있는 연속 테두리

현재 미학적 문제에 직면해 있습니다. 내 코드/알고리즘 섹션의 경계가 코드 내 수학 마크업으로 구분됩니다.

여기에 이미지 설명을 입력하세요

다음 코드로 테이블이 생성되었습니다.

\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}

수학 마크업에도 불구하고 수직 테두리를 연속적으로 만들 수 있는 방법을 아는 사람이 있습니까? 아니면 최소한 세로 테두리를 제거하시겠습니까?

그런데 나는 Overleaf에서 일하고 있어요.

감사합니다!

답변1

를 사용하여 tcblisting프레임을 생성할 수 있습니다.

또는 수직 테두리를 제거하려면 간단히 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}

답변2

listings.sty제목 아래 문서에 설명된 버그였습니다.8.2

여기에 이미지 설명을 입력하세요

수정된 내용은 다음과 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}

산출

여기에 이미지 설명을 입력하세요

관련 정보