코드 목록을 위한 새로운 패키지

코드 목록을 위한 새로운 패키지

이 사이트에는 소스 코드 목록을 표시하는 패키지에 대한 많은 질문(및 답변)이 있습니다. 하지만 제가 찾은 모든 답변은 적어도 5년은 된 것입니다. 그리고 "목록"과 같은 이전 패키지보다 어떤 방식으로든 또는 다른 우수한 패키지가 개발되었는지 궁금합니다.

이상적으로는 다음과 같은 특징을 가진 목록을 갖고 싶습니다.

  1. 고정 너비 글꼴로 조판합니다. 너무 많은 공간을 차지하지 않는 상당히 좁은 글꼴이 바람직합니다.
  2. 멋진 테두리가 있는 상자에 들어 있으며 그림자가 있을 수도 있습니다.
  3. 컬러 배경입니다.
  4. C/C++/C#과 같은 언어에 대한 구문 기반 색상 코딩.
  5. 페이지 나누기가 발생하는 위치를 일부 제어할 수도 있습니다.

이들 중 일부는 내가 없이도 살 수 있는 케이크 위에 장식되어 있습니다.

그렇다면 2016년 현재 새롭게 개선된 솔루션이 있습니까? 대답이 "아니오"인 경우에도 여전히 도움이 될 것입니다. 검색을 중단할 수 있음을 알려주기 때문입니다.

답변1

다양한 댓글을 보면 새로운 것을 찾을 가치가 없다는 인상을 받았기 때문에 그냥 전통적인 솔루션인 패키지를 사용했습니다 listings. 큰 노력 없이도 다음과 같은 결과를 얻을 수 있었습니다.

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

그림자, 좁은 글꼴( fontspecFakeStretch 제공, 찌그러진 Consolas) 및 C# 구문 강조가 포함된 멋진 색상의 상자가 있습니다. 좋은.

설정 코드의 관련 부분은 다음과 같습니다.

\usepackage{unicode-math}
\usepackage{color}
\usepackage{listings}

\setmonofont[Scale=MatchLowercase, FakeStretch = 0.9]{Consolas}

\definecolor{bluekeywords}{rgb}{0.13,0.13,1}
\definecolor{greencomments}{rgb}{0,0.5,0}
\definecolor{redstrings}{rgb}{0.9,0,0}
\definecolor{codebackground}{rgb}{1,1,0.85}
\definecolor{codeframecolor}{rgb}{0.65,0.65,0.65}
\definecolor{shadowcolor}{rgb}{0.85,0.85,0.85}

\lstset{language=[Sharp]C,
    showspaces=false,
    showtabs=false,
    lineskip = -0.5pt,
    xleftmargin = 1pt,
    framesep = 5pt,
    frame = shadowbox,
    framerule = 1pt,
    backgroundcolor=\color{codebackground},
    rulecolor = \color{codeframecolor}, 
    rulesepcolor = \color{shadowcolor},
    rulesep = 3pt,
    aboveskip = 12pt,
    belowskip = 4pt,
    commentstyle=\itshape\color{greencomments},
    keywordstyle=\color{bluekeywords}\bfseries,
    stringstyle=\color{redstrings},
    basicstyle=\ttfamily
}

minted및 패키지 fancyvbr는 더 새로운 것으로 보이며 내가 찾은 이전 답변에는 언급되지 않았습니다. 하지만 새로운 것이 반드시 더 나은 것은 아니며 listings내가 원하는 대로 작동하는 것 같아서 검색을 중단했습니다.

관련 정보