목록 및 유니코드 문자

목록 및 유니코드 문자

일부 유니코드 문자를 환경에 쓰고 싶지만 lstlisting출력에 인라인으로 표시되는데 이는 예상한 것과 다릅니다. 표준 문자처럼 작동하게 하려면 어떻게 해야 합니까? 감사해요.

\documentclass{article}

\usepackage{fontspec}
\setmonofont{Consolas}

\usepackage{listings}
\lstset{
    basicstyle=\ttfamily
}

\begin{document}
    \begin{lstlisting}
    \end{lstlisting}    
\end{document}

답변1

내 답변이 부적절하다고 생각하시면 죄송합니다. 하지만 잠시 동안 코드를 가지고 놀아 본 후 제가 찾은 가장 쉬운 변형은 lstlisting패키지에서 minted.

minted?

장점:

  • pdflatex, xelatex 등과 잘 작동합니다.
  • 다음보다 강조할 언어가 훨씬 더 많이 지원됩니다.lstlisting
  • 때로는 강조 표시를 수행하면 더 잘 보입니다.
  • 기본적으로 UTF-8 문자에 문제가 없습니다.

단점:

  • 추가 소프트웨어 필요(설치하는 데 2~5분 정도 소요)
  • 컴파일 명령 플래그를 편집해야 합니다(추가 30초).

좋은 소식은추가 소프트웨어위에서 언급한 Python은 OS X나 널리 사용되는 Linux 배포판을 사용하는 경우 시스템과 함께 제공될 가능성이 높으며 해당 패키지 Pygments는 셸에서 한 줄로 설치할 수 있습니다.

당신은 향할 수 있습니다minted 수동섹션 2.1을 확인하세요. 지침은 매우 짧고 유익합니다.

또한 TeX 편집기 설정을 확인하고 다음과 같이 변경해야 합니다.

/Library/tex/texbin/xelatex -synctex=1 %.tex

플래그를 추가하면 -shell-escape이제 다음과 같이 보입니다.

/Library/tex/texbin/xelatex -shell-escape -synctex=1 %.tex

이는 "샌드박스" 외부에서 XeLaTeX 호출 항목을 허용하기 위한 것입니다(우리의 경우 Python 호출).

이 단계를 마치면 사용할 준비가 된 것입니다 minted. 다시는 설정이 필요하지 않습니다.


이제 귀하의 MWE는 다음에 맞게 조정되었습니다 minted.

\documentclass{article}

\usepackage{fontspec}
\setmonofont{Consolas}

\usepackage{minted}

\begin{document}
    \begin{minted}{text}
    \end{minted}    
\end{document}

옵션에 주목하세요 {text}. 언어를 지정하는 것입니다(이 경우 일반 텍스트).

결과는 다음과 같습니다.

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


PS 저는 이전에 함께 일해 본 적이 없지만 minted문제를 해결하기 위해 40분 이상 플레이하고 lstlisting2분만 설치하고 익숙해지므로 minted시도해 볼 가치가 있습니다.

관련 정보