LaTeX 문서에 코드를 어떻게 삽입합니까? 다음과 같은 것이 있습니까?
\begin{code}## Heading ##
...
\end{code}
내가 정말로 필요한 유일한 것은 들여 쓰기와 고정 너비 글꼴입니다. 구문 강조는 꼭 필요하지는 않지만 좋을 수 있습니다.
LaTeX 문서에 코드를 어떻게 삽입합니까? 다음과 같은 것이 있습니까?
\begin{code}## Heading ##
...
\end{code}
내가 정말로 필요한 유일한 것은 들여 쓰기와 고정 너비 글꼴입니다. 구문 강조는 꼭 필요하지는 않지만 좋을 수 있습니다.
답변:
listings
패키지를 사용하십시오 .
LaTeX 헤더에 대한 간단한 구성 (이전 \begin{document}
) :
\usepackage{listings}
\usepackage{color}
\definecolor{dkgreen}{rgb}{0,0.6,0}
\definecolor{gray}{rgb}{0.5,0.5,0.5}
\definecolor{mauve}{rgb}{0.58,0,0.82}
\lstset{frame=tb,
language=Java,
aboveskip=3mm,
belowskip=3mm,
showstringspaces=false,
columns=flexible,
basicstyle={\small\ttfamily},
numbers=none,
numberstyle=\tiny\color{gray},
keywordstyle=\color{blue},
commentstyle=\color{dkgreen},
stringstyle=\color{mauve},
breaklines=true,
breakatwhitespace=true,
tabsize=3
}
을 사용하여 문서 중간에 기본 언어를 변경할 수 있습니다 \lstset{language=Java}
.
문서에서의 사용 예 :
\begin{lstlisting}
// Hello.java
import javax.swing.JApplet;
import java.awt.Graphics;
public class Hello extends JApplet {
public void paintComponent(Graphics g) {
g.drawString("Hello, world!", 65, 95);
}
}
\end{lstlisting}
결과는 다음과 같습니다.
figure
효과를 얻을 수 있습니다.
당신은 또한 그대로 환경을 사용할 수 있습니다
\begin{verbatim}
your
code
example
\end{verbatim}
인라인 코드를 추가하는 방법은 다음과 같습니다.
{\tt code }
또는로 인라인 코드를 추가 할 수 있습니다 \texttt{ code }
. 인라인 코드를 포맷하려면 직접 명령을 작성하는 것이 가장 좋습니다.
\newcommand{\code}[1]{\texttt{#1}}
또한 코드 블록을 사용하여 다른 파일에서 코드 블록을로드 할 수 있습니다.
\lstinputlisting[breaklines]{source.c}
breaklines
필요하지 않지만 유용하다고 생각합니다. 이 \usepackage{
목록 을 지정해야합니다 }
.
업데이트 : 리스팅 패키지도 포함 \lstinline
같은 기능을 강조 같은 구문은 명령 \lstlisting
및 \lstinputlisting
(구성 세부 Cloudanger의 답변을 참조) 명령을. 다른 답변에서 언급했듯이, \mintinline
명령 을 제공하는 민트 패키지도 있습니다 . 마찬가지로 \lstinline
, \mintinline
일반 발행 년도 코드 블록으로 강조 동일한 구문을 제공한다 :
\documentclass{article}
\usepackage{minted}
\begin{document}
This is a sentence with \mintinline{python}{def inlineCode(a="ipsum)}
\end{document}
minted
포맷을 수행하기 위해 피그먼트에 의존하는와 같은 특수화 된 패키지 는 listings
패키지 보다 다양한 장점을 제공 합니다. minted
매뉴얼 에서 인용하자면
피그먼트는 기존 패키지에 비해 훨씬 뛰어난 구문 강조를 제공합니다. 예를 들어 목록은 기본적으로 문자열, 설명 및 키워드 만 강조 표시합니다. 반면, 피그먼트는 소스 언어가 지원할 수있는 모든 토큰 종류를 강조하도록 완전히 사용자 정의 할 수 있습니다. 여기에는 문자열, 숫자, 다른 종류의 식별자 및 HTML 태그와 같은 이국적인 구문 내의 특수 형식화 시퀀스가 포함될 수 있습니다.
-shell-escape
지시문을 사용하여 라텍스를 호출해야하는 요구 사항 은 기껏해야 기존 빌드 시스템을 약간 수정하고 최악의 경우 일부 사용자의 보안 기본 설정과 호환되지 않는 것입니다.
아직 여기에 언급되지 않았으므로 패키지 spverbatim
(구문 강조 표시 없음) 옵션을 하나 더 추가하는 것이 좋습니다 .
\documentclass{article}
\usepackage{spverbatim}
\begin{document}
\begin{spverbatim}
Your code here
\end{spverbatim}
\end{document}
또한 구문 강조가 필요하지 않은 경우 package alltt
:
\documentclass{article}
\usepackage{alltt}
\begin{document}
\begin{alltt}
Your code here
\end{alltt}
\end{document}