LaTeX 入門 - 代碼塊 listings 宏包


LaTeX 入門 - 代碼塊 listings 宏包

listings宏包用於設置代碼塊

1. 引入與使用

引入宏包

\usepackage{listings}

使用

  • 常規使用代碼塊
\begin{lstlisting}
	codes
\end{lstlisting}
  • 從文件中導入代碼塊
\lstinputlisting[language=Python]{main.py}
\lstinputlisting[language=Python, firstline=2, lastline=12]{main.py}
  • 行內代碼
\lstinline|mycodes|

2. 設置命令

\lstset{
     columns = fixed,       
     basicstyle = \linespread{0.8} \ttfamily,             % 設置行距,字體
     numbers = left,                                      % 在左側顯示行號
     numberstyle = \tiny \color{gray},                    % 設定行號格式
     keywordstyle = \bfseries \color[RGB]{40,40,255},     % 設定關鍵字顏色
     numberstyle = \footnotesize \color{darkgray},           
     commentstyle = \color[RGB]{0,96,96},                 % 設置代碼注釋的格式
     stringstyle = \color[RGB]{128,0,0},                  % 設置字符串格式
     frame = single,                                      % 不顯示背景邊框
     backgroundcolor = \color[RGB]{245,245,244},          % 設定背景顏色
     showstringspaces = false,                            % 不顯示字符串中的空格
     language=R                                           % 設置語言
}

行號相關設置

參數 說明 可選值
numbers 行號 left:左側顯示行號
right:右側顯示行號
none:不顯示行號
stepnumber 每隔多少行顯示行號 整數
numbersep 行號與代碼內容的間隔
firstnumber 行號起始數字 整數:
last:起始行數為上一段lstlisting環境結尾的行數·`

框架相關設置

參數 說明 可選值
frame 代碼塊邊框設置 topline:只有上側有線
rightline:只有右側有線
bottomline:只有底部有線
leftline:只有左側有線
trbltbltb:按照top、right、bottom、left順序,指定的任意方位設置邊框
TRBLTBlTb:大寫字母表示雙豎線
shadowbox:帶有陰影
none:不設置邊框
frameround 邊框圓角 fftt:邊框右上角、右下角、左下角、左上角(順時針方向)4個角的方角(f)或圓角(t
rulecolor 設置框架線條顏色
rulesepcolor 設置框架陰影顏色
只有當frame=shadowbox才會起作用
linewidth 行寬 可與framexrightmargin產生相同效果
framexleftmargin
framexrightmargin
framextopmargin
framexbottommargin
邊框往左、右、上、下擴展的距離
僅改變框架,不會改變代碼、行號的位置
距離:可以為正數、或負數,分別表示往外、或內擴展
xleftmargin
xrightmargin
xtopmargin
xbottommargin
調整框架整體(包括框架、代碼、行號)往左、右、上、下擴展的距離。 距離:可以為正數、或負數,分別表示往外、或內擴展
aboveskip
belowskip
框架整體與上、下方的距離 距離

樣式相關設置

參數 說明 可選值
numberstyle 行號樣式
keywordstyle 關鍵字樣式
stringstyle 字符串樣式
commentstyle 注釋樣式

其他相關設置

參數 說明 可選值
tabsize 縮進空格數 整數:
columns 調整字母之間的距離 fixed
flexible
fullflexible
firstline
lastline
只排版firstlinelastline的代碼 整數:
language 程序語言 PythonRC++Jave

3. 設置字體

  1. 將編譯器(complier)改成 XeLaTex
  2. 引入宏包 fontspec,並通過 \setmonofont 命令設置等寬字體
  3. lstsetlstlisting 中設置 basicstyle = \ttfamily
\usepackage{fontspec}
\setmonofont{Source Code Pro}

\begin{lstlisting}[basicstyle = \ttfamily]
	codes
\being{lstlisting}

參考資料

[1] LaTeX listings 宏包使用說明(一), 知乎, 地址


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM