programing tip

다양한 언어로 코드의 구문 강조를 수행하는 LaTeX 패키지

itbloger 2020. 6. 3. 21:31
반응형

다양한 언어로 코드의 구문 강조를 수행하는 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}

비슷한 질문을 한 후에 Pygments를 사용하는 다른 패키지를 만들었으며보다 많은 옵션을 제공합니다 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}

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

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

민트 패키지

The minted package supports colors, unicode and looks awesome. However, in order to use it, you need to have python 2.6 and pygments. In Ubuntu, you can check your python version in the terminal with

python --version

and you can install pygments with

sudo apt-get install python-pygments

Then, since minted makes calls to pygments, you need to compile it with -shell-escape like this

pdflatex -shell-escape yourfile.tex

If you use a latex editor like TexMaker or something, I would recommend to add a user-command, so that you can still compile it in the editor.

The following code

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

produces the following image:

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


I mostly use lstlistings in papers, but for coloured output (for slides) I use pygments instead.


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

참고 URL : https://stackoverflow.com/questions/300521/latex-package-to-do-syntax-highlighting-of-code-in-various-languages

반응형