lstlisting의 문자열 스타일 배경색

lstlisting의 문자열 스타일 배경색

lstlisting문자열을 배경색으로 강조 표시하여 문자열을 더욱 돋보이게 하는 스타일 정의를 만들고 싶습니다 . 가능한지 확실하지 않지만 설명하겠습니다.

\colorbox다음은 내가 원하는 것이 무엇인지에 대한 아이디어를 줄 수 있는 시도입니다 .

\documentclass{article}
\usepackage{xcolor}
\usepackage{listings}

\lstdefinestyle{mypython}{
  keywordstyle=\bfseries,
  captionpos=b,
  language=Python,
  keywordstyle=\bfseries,
  identifierstyle=\color{black},
  ndkeywordstyle=\color{darkgray}\bfseries,
  commentstyle=\color{gray}\ttfamily,
  stringstyle=\color{black}\ttfamily\colorbox{black!10},
  showstringspaces=false
}
\begin{document}
\begin{lstlisting}[style=mypython]
{'timezone': 7200, 'cod': 200, 'dt': 1561470780, 'base': 'stations',
  'weather': [{'id': 804, 'icon': '04d', 'main': 'Clouds',
               'description': 'overcast clouds'}],
  'sys': {'message': 0.0076, 'country': 'DK',  'sunrise': 1561429582,
\end{lstlisting}
\end{document}

다음은 일부 JSON에서 위 스타일을 사용할 때의 출력 예입니다. 컬러박스로 출력

볼 수 있듯이 이 접근 방식에는 몇 가지 문제가 있습니다.

  • 아포스트로피는 나머지 텍스트와 별도로 강조 표시됩니다.
  • 공백은 문자열이 아직 시작되지 않은 줄의 시작 부분에서 강조 표시된 일부 장소입니다.
  • 색상 상자의 높이가 동일하지 않습니다.
  • 단어와 아포스트로피 사이에 추가 공백이 도입되었습니다.

위의 문제를 해결하는 것이 가능합니까? 아마도 을 사용 tcolorbox하거나 다른 것을 사용하고 있습니까 \colorbox?

관련 정보