[syntax] 다양한 언어로 된 코드의 구문 강조를위한 LaTeX 패키지

코드에서 구문 강조를 수행하는 LaTeX 패키지를 찾고 있습니다. 예를 들어, 지금은 그대로 블록을 사용하여 코드를 작성합니다.

\begin{verbatim}
    <html>
       <head>
           <title>Hello</title>
       </head>
       <body>Hello</body>
    </html>
\end{verbatim}

그리고 이것은 내 문서에 코드를 표시하는 데 효과적입니다. 그러나 출력 문서에서 IDE가하는 방식으로 HTML 마크 업을 강조하고 싶습니까? 도움이 될만한 패키지가 있습니까?

Java, C #, HTML, CSS 등과 같은 다양한 언어에 대해서도 동일하게 수행하고 싶습니다.



답변

리스팅 패키지를 사용할 수 있습니다 . 다양한 언어를 지원하며 출력을 사용자 정의하기위한 많은 옵션이 있습니다.

\documentclass{article}
\usepackage{listings}

\begin{document}
\begin{lstlisting}[language=html]
<html>
    <head>
        <title>Hello</title>
    </head>
    <body>Hello</body>
</html>
\end{lstlisting}
\end{document}


답변

비슷한 질문을 한 후에 피그먼트를 사용하는 다른 패키지를 만들었으며보다 많은 옵션을 제공합니다 texments. 호출 minted되고 상당히 안정적이며 사용 가능합니다.

이를 보여주기 위해 다음은 강조 표시된 코드입니다.

예제 코드


답변

나는 피그먼트를 추천 한다 . 모든 언어로 된 코드를 받아들이고 LaTeX 코드로 강조 표시된 구문을 출력합니다. 그것은 사용 fancyvrb컬러 출력을 생산하기 위해 패키지를. 나는 개인적으로 목록 패키지보다 선호합니다. fancyvrb 가 훨씬 더 예쁘게 보인다고 생각 합니다.


답변

LGrind 는 이것을합니다. 아담이 카우보이 였고 많은 프로그래밍 언어를 지원 한 이후로 사용되어 온 성숙한 LaTeX 패키지입니다.


답변

리스팅 패키지 대신 개발자 Konrad Rudolph가 언급 한대로 민트 패키지 를 사용합니다 . 이유는 다음과 같습니다.

리스팅 패키지

리스팅 패키지는 기본적으로 색상을 지원하지 않습니다. 색상을 사용하려면 여기 에서 matlab 코드에 대해 설명 된대로 \ lstset 명령 을 사용하여 색상 패키지를 포함하고 색상 규칙을 직접 정의해야합니다 .

또한 목록 패키지는 유니 코드에서 제대로 작동하지 않지만 여기여기에 설명 된대로 이러한 문제를 해결할 수 있습니다 .

다음 코드

\documentclass{article}
\usepackage{listings}

\begin{document}
\begin{lstlisting}[language=html]
<html>
    <head>
        <title>Hello</title>
    </head>
    <body>Hello</body>
</html>
\end{lstlisting}
\end{document}

다음 이미지를 생성합니다.

여기에 이미지 설명을 입력하십시오

민트 패키지

민트 패키지는 색상, 유니 코드를 지원하며 멋지게 보입니다. 그러나 그것을 사용하려면 python 2.6 및 pygments가 있어야 합니다. 우분투에서는 터미널에서 파이썬 버전을 확인할 수 있습니다.

python --version

와 함께 피그먼트를 설치할 수 있습니다

sudo apt-get install python-pygments

그런 다음, minted는 피그먼트를 호출하므로 다음 과 같이 -shell-escape 로 컴파일해야 합니다.

pdflatex -shell-escape yourfile.tex

TexMaker와 같은 라텍스 편집기를 사용하는 경우 편집기에서 컴파일 할 수 있도록 사용자 명령을 추가하는 것이 좋습니다.

다음 코드

\documentclass{article}
\usepackage{minted}
\begin{document}

\begin{minted}{html}
    <!DOCTYPE html>
    <html>
       <head>
           <title>Hello</title>
       </head>

       <body>Hello</body>
    </html>
\end{minted}
\end{document}

다음 이미지를 생성합니다.

여기에 이미지 설명을 입력하십시오


답변

나는 주로 논문에 lstlisting을 사용하지만, 컬러 출력 (슬라이드)에는 피그먼트를 대신 사용합니다.


답변

다음 tex 코드를 기반으로 자신의 패키지를 정의하는 것이 좋습니다. 이것은 당신에게 완전한 자유를줍니다. http://ubuntuforums.org/archive/index.php/t-331602.html