다음과 같이 아름다운 코드를 작성하는 방법

다음과 같이 아름다운 코드를 작성하는 방법

글꼴, 색상, 선, 그림 설명을 포함하여 다음과 같은 아름다운 코드를 생성하는 방법을 알고 싶습니다. 가 쓴 게 아닌 것 같아요 \lstset. 이 사진은 '라는 제목의 논문에서 발췌한 것입니다.최적화에 안전한 시스템을 향하여: 정의되지 않은 동작의 영향 분석.

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

답변1

패키지를 사용하여 코드가 강조표시된 것 같습니다 minted.

pdflatex --shell-escape또는 로 조판합니다 arara.

% arara: pdflatex: { shell: yes }
\documentclass{article}
\pagestyle{empty}% for cropping
\usepackage{minted,newtxtext,newtxmath,caption}
\newcommand\code{\texttt}
\newcommand\param{\textit}
\DeclareCaptionFont{bfmath}{\boldmath\bfseries}
\DeclareCaptionFormat{ruled}{\hrulefill\par#1#2#3}
\captionsetup{format=ruled,font=bfmath}
\begin{document}
\begin{figure}
  \centering
\begin{minted}{c}
const uint8_t *data     = /* buffer head */;
const uint8_t *data_end = /* buffer tail */;
int size = bytestream_get_be16(&data);
if (data + size >= data_end || data + size < data)
    return -1;
data += size;
...
int len = ff_amf_tag_size(data, data_end);
if (len < 0 || data + len >= data_end
            || data + len < data)
    return -1;
data += len;
/* continue to read data */
\end{minted}
  \caption{Unstable bounds checks in the form $\code{data} + x < \code{data}$ from FFmpeg/Libav, which gcc optimizes into $x < 0$.}
\end{figure}
\begin{figure}
  \centering
\begin{minted}{c}
void pdec(io *f, int k) {
    if (k < 0) {          /* print negative k */
        if (-k >= 0) {    /* not INT_MIN? */
            pchr(f, '-'); /* print minus */
            pdec(f, -k);  /* print -k */
            return;
        }
            ...           /* print INT_MIN */
            return;
        }
    ...                   /* print positive k */
}
\end{minted}
  \caption{An unstable integer check in plan9port. The function \code{pdec} prints a signed integer \code{k}; gcc optimizes the check \code{-k >= 0} into \param{true} when it learns that \code{k} is negative, leading to an infinite loop if the input \code{k} is \code{INT\_MIN}.}
\end{figure}
\end{document}

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

관련 정보