> For the complete documentation index, see [llms.txt](https://overleaf-pro.ayaka.space/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://overleaf-pro.ayaka.space/latex/zh-tw/ge-shi-hua/12-code-highlighting-with-minted.md).

# 使用 minted 進行程式碼高亮

## 簡介

本文將示範如何使用 [`minted` 套件](https://ctan.org/pkg/minted?lang=en) 來在 LaTeX 文件中格式化並突顯程式語言原始碼，先從一個範例開始：

```latex
\documentclass{article}
\usepackage{minted}
\begin{document}
\begin{minted}{python}
import numpy as np

def incmatrix(genl1,genl2):
    m = len(genl1)
    n = len(genl2)
    M = None #將成為關聯矩陣
    VT = np.zeros((n*m,1), int)  #暫存變數

    #計算位元異或矩陣
    M1 = bitxormatrix(genl1)
    M2 = np.triu(bitxormatrix(genl2),1)

    for i in range(m-1):
        for j in range(i+1, m):
            [r,c] = np.where(M2 == M1[i,j])
            for k in range(len(r)):
                VT[(i)*n + r[k]] = 1;
                VT[(i)*n + c[k]] = 1;
                VT[(j)*n + r[k]] = 1;
                VT[(j)*n + c[k]] = 1;

                if M is None:
                    M = np.copy(VT)
                else:
                    M = np.concatenate((M, VT), 1)

                VT = np.zeros((n*m,1), int)

    return M
\end{minted}
\end{document}
```

[在 Overleaf 中開啟這個範例](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=Example+of+the+minted+package\&snip=%5Cdocumentclass%7Barticle%7D%0A%5Cusepackage%7Bminted%7D%0A%5Cbegin%7Bdocument%7D%0A%5Cbegin%7Bminted%7D%7Bpython%7D%0Aimport+numpy+as+np%0A++++%0Adef+incmatrix%28genl1%2Cgenl2%29%3A%0A++++m+%3D+len%28genl1%29%0A++++n+%3D+len%28genl2%29%0A++++M+%3D+None+%23to+become+the+incidence+matrix%0A++++VT+%3D+np.zeros%28%28n%2Am%2C1%29%2C+int%29++%23dummy+variable%0A++++%0A++++%23compute+the+bitwise+xor+matrix%0A++++M1+%3D+bitxormatrix%28genl1%29%0A++++M2+%3D+np.triu%28bitxormatrix%28genl2%29%2C1%29+%0A%0A++++for+i+in+range%28m-1%29%3A%0A++++++++for+j+in+range%28i%2B1%2C+m%29%3A%0A++++++++++++%5Br%2Cc%5D+%3D+np.where%28M2+%3D%3D+M1%5Bi%2Cj%5D%29%0A++++++++++++for+k+in+range%28len%28r%29%29%3A%0A++++++++++++++++VT%5B%28i%29%2An+%2B+r%5Bk%5D%5D+%3D+1%3B%0A++++++++++++++++VT%5B%28i%29%2An+%2B+c%5Bk%5D%5D+%3D+1%3B%0A++++++++++++++++VT%5B%28j%29%2An+%2B+r%5Bk%5D%5D+%3D+1%3B%0A++++++++++++++++VT%5B%28j%29%2An+%2B+c%5Bk%5D%5D+%3D+1%3B%0A++++++++++++++++%0A++++++++++++++++if+M+is+None%3A%0A++++++++++++++++++++M+%3D+np.copy%28VT%29%0A++++++++++++++++else%3A%0A++++++++++++++++++++M+%3D+np.concatenate%28%28M%2C+VT%29%2C+1%29%0A++++++++++++++++%0A++++++++++++++++VT+%3D+np.zeros%28%28n%2Am%2C1%29%2C+int%29%0A++++%0A++++return+M%0A%5Cend%7Bminted%7D%0A%5Cend%7Bdocument%7D)

此範例會產生以下輸出：

![minted 套件輸出的範例](/files/c2f48b5b18b9077f71587843da2a3ca89cd624f5)

這裡有兩個重要的命令。在前導部分，套件可透過以下方式匯入：

```latex
\usepackage{minted}
```

然後標籤 `\begin{minted}{python}` 和 `\end{minted}` 會界定一個環境，將文字以等寬字體逐字輸出，並對註解、關鍵字與函式套用顏色。參數 `python` 是原始碼所使用的程式語言。 `minted` 支援超過 150 種程式與標記語言以及設定檔，請參閱 [參考指南](#reference-guide) 以取得支援語言清單。

**注意**: 若要讓你的 `minted` 與你的 *本機* LaTeX 發行版搭配使用，必須另外安裝名為 [Pygments](https://pygments.org/) 的程式。 [Overleaf](https://www.overleaf.com/) 可讓你省去安裝它以及執行特殊命令來編譯文件的麻煩——在 Overleaf 上，使用 `minted` 的文件可直接「開箱即用」。

## 基本用法

如下例所示， `minted` 環境可設定來修改排版後程式碼的視覺呈現。這裡， `minted` 環境使用多個以逗號分隔、格式為 `key=value`:

```latex
\documentclass{article}
\usepackage{minted}
\usepackage{xcolor} % 以存取名為 LightGray 的顏色
\definecolor{LightGray}{gray}{0.9}
\begin{document}
\begin{minted}
[
frame=lines,
framesep=2mm,
baselinestretch=1.2,
bgcolor=LightGray,
fontsize=\footnotesize,
linenos
]
{python}
import numpy as np

def incmatrix(genl1,genl2):
    m = len(genl1)
    n = len(genl2)
    M = None #將成為關聯矩陣
    VT = np.zeros((n*m,1), int)  #暫存變數

    #計算位元異或矩陣
    M1 = bitxormatrix(genl1)
    M2 = np.triu(bitxormatrix(genl2),1)

    for i in range(m-1):
        for j in range(i+1, m):
            [r,c] = np.where(M2 == M1[i,j])
            for k in range(len(r)):
                VT[(i)*n + r[k]] = 1;
                VT[(i)*n + c[k]] = 1;
                VT[(j)*n + r[k]] = 1;
                VT[(j)*n + c[k]] = 1;

                if M is None:
                    M = np.copy(VT)
                else:
                    M = np.concatenate((M, VT), 1)

                VT = np.zeros((n*m,1), int)

    return M
\end{minted}
\end{document}
```

[在 Overleaf 中開啟這個範例](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=Another+example+of+the+minted+package\&snip=%5Cdocumentclass%7Barticle%7D%0A%5Cusepackage%7Bminted%7D%0A%5Cusepackage%7Bxcolor%7D+%25+to+access+the+named+colour+LightGray%0A%5Cdefinecolor%7BLightGray%7D%7Bgray%7D%7B0.9%7D%0A%5Cbegin%7Bdocument%7D%0A%5Cbegin%7Bminted%7D%0A%5B%0Aframe%3Dlines%2C%0Aframesep%3D2mm%2C%0Abaselinestretch%3D1.2%2C%0Abgcolor%3DLightGray%2C%0Afontsize%3D%5Cfootnotesize%2C%0Alinenos%0A%5D%0A%7Bpython%7D%0Aimport+numpy+as+np%0A++++%0Adef+incmatrix%28genl1%2Cgenl2%29%3A%0A++++m+%3D+len%28genl1%29%0A++++n+%3D+len%28genl2%29%0A++++M+%3D+None+%23to+become+the+incidence+matrix%0A++++VT+%3D+np.zeros%28%28n%2Am%2C1%29%2C+int%29++%23dummy+variable%0A++++%0A++++%23compute+the+bitwise+xor+matrix%0A++++M1+%3D+bitxormatrix%28genl1%29%0A++++M2+%3D+np.triu%28bitxormatrix%28genl2%29%2C1%29+%0A%0A++++for+i+in+range%28m-1%29%3A%0A++++++++for+j+in+range%28i%2B1%2C+m%29%3A%0A++++++++++++%5Br%2Cc%5D+%3D+np.where%28M2+%3D%3D+M1%5Bi%2Cj%5D%29%0A++++++++++++for+k+in+range%28len%28r%29%29%3A%0A++++++++++++++++VT%5B%28i%29%2An+%2B+r%5Bk%5D%5D+%3D+1%3B%0A++++++++++++++++VT%5B%28i%29%2An+%2B+c%5Bk%5D%5D+%3D+1%3B%0A++++++++++++++++VT%5B%28j%29%2An+%2B+r%5Bk%5D%5D+%3D+1%3B%0A++++++++++++++++VT%5B%28j%29%2An+%2B+c%5Bk%5D%5D+%3D+1%3B%0A++++++++++++++++%0A++++++++++++++++if+M+is+None%3A%0A++++++++++++++++++++M+%3D+np.copy%28VT%29%0A++++++++++++++++else%3A%0A++++++++++++++++++++M+%3D+np.concatenate%28%28M%2C+VT%29%2C+1%29%0A++++++++++++++++%0A++++++++++++++++VT+%3D+np.zeros%28%28n%2Am%2C1%29%2C+int%29%0A++++%0A++++return+M%0A%5Cend%7Bminted%7D%0A%5Cend%7Bdocument%7D)

此範例會產生以下輸出：

![應用格式化於由 minted 套件產生之排版程式碼的範例](/files/d658f6de5998f4f14bb7c7e7459f2679e6a6dd49)

本例使用的參數如下：

* `frame=lines`：在程式碼上方與下方各畫一條線來框住內容。其他可能的值有 `leftline`, `topline`, `bottomline` 和 `single`.
* `framesep=2mm`：框線間距設為 2mm。也可使用其他 [長度單位](/latex/zh-tw/ge-shi-hua/01-lengths-in-latex.md) 。
* `baselinestretch=1.2`：將程式碼的行距設為 1.2。
* `bgcolor=LightGray`：背景顏色設為 `LightGray`。你需要匯入 `xcolor` 套件才能運作。請參閱 [在 LaTeX 中使用顏色](/latex/zh-tw/ge-shi-hua/13-using-colors-in-latex.md) 以進一步了解顏色操作。
* `fontsize=\footnotesize`：字體大小設為 `footnotesize`。也可設定任何其他 [字體大小](/latex/zh-tw/zi-xing/01-font-sizes-families-and-styles.md#reference-guide) 。
* `linenos`：啟用行號。

其他可能有用的選項有：

* `mathescape`：在程式碼註解中啟用數學模式。
* `rulecolor`：變更框線顏色。
* `showspaces`：啟用特殊字元以顯示空白。

## 從檔案中包含程式碼

程式碼通常儲存在原始碼檔案中，因此可自動從檔案匯入程式碼的命令非常方便，如下例所示：

```latex
\documentclass{article}
\usepackage{minted}
\title{使用 minted 匯入檔案}
\begin{document}
下一段程式碼將直接從檔案匯入：

\inputminted{octave}{BitXorMatrix.m}
\end{document}
```

[在 Overleaf 中開啟這個範例](https://www.overleaf.com/docs?engine=\&snip_name\[]=main.tex\&snip\[]=%5Cdocumentclass%7Barticle%7D%0A%5Cusepackage%7Bminted%7D%0A%5Ctitle%7BImporting+files+using+minted%7D%0A%5Cbegin%7Bdocument%7D%0AThe+next+code+will+be+directly+imported+from+a+file%3A%0A%0A%5Cinputminted%7Boctave%7D%7BBitXorMatrix.m%7D%0A%5Cend%7Bdocument%7D\&snip_name\[]=BitXorMatrix.m\&snip\[]=function+X+%3D+BitXorMatrix%28A%2CB%29%0A%25function+to+compute+the+sum+without+charge+of+two+vectors%0A%09%0A%09%25convert+elements+into+usigned+integers%0A%09A+%3D+uint8%28A%29%3B%0A%09B+%3D+uint8%28B%29%3B%0A%0A%09m1+%3D+length%28A%29%3B%0A%09m2+%3D+length%28B%29%3B%0A%09X+%3D+uint8%28zeros%28m1%2C+m2%29%29%3B%0A%09for+n1%3D1%3Am1%0A%09%09for+n2%3D1%3Am2%0A%09%09%09X%28n1%2C+n2%29+%3D+bitxor%28A%28n1%29%2C+B%28n2%29%29%3B%0A%09%09end%0A%09end\&main_document=main.tex)

此範例會產生以下輸出：

![使用 minted 匯入程式碼檔案](/files/59df70098a56df27b9e1224ccbb837b29cc67d15)

命令 `\inputminted{octave}{BitXorMatrix.m}` 會從檔案 `BitXorMatrix.m`匯入程式碼，參數 `octave` 會告訴 LaTeX 這段程式碼所使用的程式語言。這個命令可額外帶入兩個參數，只匯入檔案的一部分；例如，要匯入第 2 行到第 12 行的程式碼，命令就會變成：

```latex
\inputminted[firstline=2, lastline=12]{octave}{BitXorMatrix.m}
```

## 單行程式碼

如果你只需要輸入一行程式碼，命令 `\mint`會派上用場，其語法如下例所示。

```latex
單行程式碼格式化也適用於 \texttt{minted}。例如，像這樣的一小段 HTML：
\mint{html}|<h2>Something <b>here</b></h2>|
\noindent 便可正確格式化。
```

[在 Overleaf 中開啟這個範例](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=One+line+code+example+with+minted\&snip=%5Cdocumentclass%7Barticle%7D%0A%5Cusepackage%7Bminted%7D%0A%5Cbegin%7Bdocument%7D%0AOne-line+code+formatting+also+works+with+%5Ctexttt%7Bminted%7D.+For+example%2C+a+small+fragment+of+HTML+like+this%3A%0A%5Cmint%7Bhtml%7D%7C%3Ch2%3ESomething+%3Cb%3Ehere%3C%2Fb%3E%3C%2Fh2%3E%7C%0A%5Cnoindent+can+be+formatted+correctly.%0A%5Cend%7Bdocument%7D)

此範例會產生以下輸出：

![minted 的單行程式碼範例](/files/d5020afc3fd618494895196d08f19849e7184185)

大括號之間的參數設定程式語言（`html` 在此例中為標記語言），而要格式化的實際文字則由 '|' 字元界定。

## 自訂詞法分析器

**（請注意，由於 `minted` 自 2023 年起的變更，以下方法只會在** [**TeX Live 2022 或更早版本**](/latex/zh-tw/zhi-shi-ku/148-using-the-overleaf-project-menu.md#tex-live-version)**.)**

下運作， `minted` 預設情況下， `僅支援已安裝或已向`pygmentize [這裡](https://tex.stackexchange.com/questions/18083/how-to-add-custom-c-keywords-to-be-recognized-by-minted#comment930474_42392).

登錄詞法分析器的語言。如果你已撰寫自訂詞法分析器，或想使用尚未在 Overleaf 上安裝的語言詞法分析器，仍可使用前述方法在自己的 Overleaf 專案中使用它。 `假設你已在檔案中定義了一個詞法分析器`nl-lexer.py `，其中包含類別` NetLogoLexer `假設你已在檔案中定義了一個詞法分析器` 上傳 `nl-lexer.py:NetLogoLexer` 到你的 Overleaf 專案，然後在使用 `minted`時將其指定為「語言名稱」。例如：

```latex
\begin{minted}{nl-lexer.py:NetLogoLexer -x}
   ... 你的程式碼在這裡 ...
\end{minted}
```

[以下是](http://quantixed.org/2018/10/23/new-lexicon-how-to-add-a-custom-minted-lexer-in-overleaf/) ImageJ Macro 語言的另一個範例。

## 顏色與樣式表

用於程式碼突顯的配色方案會儲存在樣式表中。你可以建立自己的樣式表，或使用 LaTeX 發行版中已提供的樣式表之一。請參閱 [參考指南](#reference-guide) 以取得 [Overleaf](https://www.overleaf.com).

```latex
\documentclass{article}
\usepackage{minted}
\usemintedstyle{borland}
\begin{document}
\begin{minted}{python}
import numpy as np

def incmatrix(genl1,genl2):
    m = len(genl1)
    n = len(genl2)
    M = None #將成為關聯矩陣
    VT = np.zeros((n*m,1), int)  #暫存變數

    #計算位元異或矩陣
    M1 = bitxormatrix(genl1)
    M2 = np.triu(bitxormatrix(genl2),1)

    for i in range(m-1):
        for j in range(i+1, m):
            [r,c] = np.where(M2 == M1[i,j])
            for k in range(len(r)):
                VT[(i)*n + r[k]] = 1;
                VT[(i)*n + c[k]] = 1;
                VT[(j)*n + r[k]] = 1;
                VT[(j)*n + c[k]] = 1;

                if M is None:
                    M = np.copy(VT)
                else:
                    M = np.concatenate((M, VT), 1)

                VT = np.zeros((n*m,1), int)

    return M
\end{minted}
\end{document}
```

[在 Overleaf 中開啟這個範例](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=Using+stylesheets+with+minted+package\&snip=%5Cdocumentclass%7Barticle%7D%0A%5Cusepackage%7Bminted%7D%0A%5Cusemintedstyle%7Bborland%7D%0A%5Cbegin%7Bdocument%7D%0A%5Cbegin%7Bminted%7D%7Bpython%7D%0Aimport+numpy+as+np%0A++++%0Adef+incmatrix%28genl1%2Cgenl2%29%3A%0A++++m+%3D+len%28genl1%29%0A++++n+%3D+len%28genl2%29%0A++++M+%3D+None+%23to+become+the+incidence+matrix%0A++++VT+%3D+np.zeros%28%28n%2Am%2C1%29%2C+int%29++%23dummy+variable%0A++++%0A++++%23compute+the+bitwise+xor+matrix%0A++++M1+%3D+bitxormatrix%28genl1%29%0A++++M2+%3D+np.triu%28bitxormatrix%28genl2%29%2C1%29+%0A%0A++++for+i+in+range%28m-1%29%3A%0A++++++++for+j+in+range%28i%2B1%2C+m%29%3A%0A++++++++++++%5Br%2Cc%5D+%3D+np.where%28M2+%3D%3D+M1%5Bi%2Cj%5D%29%0A++++++++++++for+k+in+range%28len%28r%29%29%3A%0A++++++++++++++++VT%5B%28i%29%2An+%2B+r%5Bk%5D%5D+%3D+1%3B%0A++++++++++++++++VT%5B%28i%29%2An+%2B+c%5Bk%5D%5D+%3D+1%3B%0A++++++++++++++++VT%5B%28j%29%2An+%2B+r%5Bk%5D%5D+%3D+1%3B%0A++++++++++++++++VT%5B%28j%29%2An+%2B+c%5Bk%5D%5D+%3D+1%3B%0A++++++++++++++++%0A++++++++++++++++if+M+is+None%3A%0A++++++++++++++++++++M+%3D+np.copy%28VT%29%0A++++++++++++++++else%3A%0A++++++++++++++++++++M+%3D+np.concatenate%28%28M%2C+VT%29%2C+1%29%0A++++++++++++++++%0A++++++++++++++++VT+%3D+np.zeros%28%28n%2Am%2C1%29%2C+int%29%0A++++%0A++++return+M%0A%5Cend%7Bminted%7D%0A%5Cend%7Bdocument%7D)

使用 `borland` 樣式表會產生以下輸出：

![使用 borland 樣式表時 minted 套件的輸出](/files/83af16ccb55c919e799177de9b1c715ec28f8635)

設定配色樣式的語法很簡單，命令 `\usemintedstyle{borland}` 會使用色彩主題 `borland` 來格式化原始碼。你可以在 [參考指南](#reference-guide).

## 標題、標籤與清單目錄

以 **minted** 格式化的程式碼清單可以像 [圖表](/latex/zh-tw/geng-duo-zhu-ti/27-inserting-images.md#positioning) 和 [表格](/latex/zh-tw/tu-biao-yu-biao-ge/01-tables.md#positioning-tables)一樣納入浮動體元素中。程式碼清單可指定標題與標籤，之後可加以參照並收錄到「程式碼清單目錄」中。

```latex
\documentclass{article}
\usepackage{minted}
\title{列出程式碼範例}
\begin{document}
\begin{listing}[!ht]
\inputminted{octave}{BitXorMatrix.m}
\caption{外部檔案中的範例}
\label{listing:1}
\end{listing}

\begin{listing}[!ht]
\begin{minted}{c}
#include <stdio.h>
int main() {
   printf("Hello, World!"); /*printf() 輸出引號中的字串*/
   return 0;
}
\end{minted}
\caption{C 語言中的 Hello World}
\label{listing:2}
\end{listing}

\begin{listing}[!ht]
\begin{minted}{lua}
function fact (n)--定義一個階乘函式
  if n == 0 then
    return 1
  else
    return n * fact(n-1)
  end
end

print("enter a number:")
a = io.read("*number") -- 讀取一個數字
print(fact(a))
\end{minted}
\caption{Lua 手冊中的範例}
\label{listing:3}
\end{listing}
\noindent\texttt{minted} 對清單 \ref{listing:1}、\ref{listing:2} 與 \ref{listing:3} 的排版表現得很出色。
\renewcommand\listoflistingscaption{原始碼清單目錄}
\listoflistings
\end{document}
```

[在 Overleaf 中開啟這個範例](https://www.overleaf.com/docs?engine=\&snip_name\[]=main.tex\&snip\[]=%5Cdocumentclass%7Barticle%7D%0A%5Cusepackage%7Bminted%7D%0A%5Ctitle%7BListing+code+examples%7D%0A%5Cbegin%7Bdocument%7D%0A%5Cbegin%7Blisting%7D%5B%21ht%5D%0A%5Cinputminted%7Boctave%7D%7BBitXorMatrix.m%7D%0A%5Ccaption%7BExample+from+external+file%7D%0A%5Clabel%7Blisting%3A1%7D%0A%5Cend%7Blisting%7D%0A%0A%5Cbegin%7Blisting%7D%5B%21ht%5D%0A%5Cbegin%7Bminted%7D%7Bc%7D%0A%23include+%3Cstdio.h%3E%0Aint+main%28%29+%7B%0A+++printf%28%22Hello%2C+World%21%22%29%3B+%2F%2Aprintf%28%29+outputs+the+quoted+string%2A%2F%0A+++return+0%3B%0A%7D%0A%5Cend%7Bminted%7D%0A%5Ccaption%7BHello+World+in+C%7D%0A%5Clabel%7Blisting%3A2%7D%0A%5Cend%7Blisting%7D%0A%0A%5Cbegin%7Blisting%7D%5B%21ht%5D%0A%5Cbegin%7Bminted%7D%7Blua%7D%0Afunction+fact+%28n%29--defines+a+factorial+function%0A++if+n+%3D%3D+0+then%0A++++return+1%0A++else%0A++++return+n+%2A+fact%28n-1%29%0A++end%0Aend%0A%0Aprint%28%22enter+a+number%3A%22%29%0Aa+%3D+io.read%28%22%2Anumber%22%29+--+read+a+number%0Aprint%28fact%28a%29%29%0A%5Cend%7Bminted%7D%0A%5Ccaption%7BExample+from+the+Lua+manual%7D%0A%5Clabel%7Blisting%3A3%7D%0A%5Cend%7Blisting%7D%0A%5Cnoindent%5Ctexttt%7Bminted%7D+makes+a+nice+job+of+typesetting+listings+%5Cref%7Blisting%3A1%7D%2C+%5Cref%7Blisting%3A2%7D+and+%5Cref%7Blisting%3A3%7D.%0A%5Crenewcommand%5Clistoflistingscaption%7BList+of+source+codes%7D%0A%5Clistoflistings%0A%5Cend%7Bdocument%7D\&snip_name\[]=BitXorMatrix.m\&snip\[]=%25This+code+is+directly+imported+from+a+file%0A%25A+function+to+compute+the+sum+without+charge+of+two+vectors%0Afunction+X+%3D+BitXorMatrix%28A%2CB%29%0A%25convert+elements+into+unsigned+integers%0AA+%3D+uint8%28A%29%3B%0AB+%3D+uint8%28B%29%3B%0A%0Am1+%3D+length%28A%29%3B%0Am2+%3D+length%28B%29%3B%0AX+%3D+uint8%28zeros%28m1%2C+m2%29%29%3B%0A+for+n1%3D1%3Am1%0A++for+n2%3D1%3Am2%0A+++X%28n1%2C+n2%29+%3D+bitxor%28A%28n1%29%2C+B%28n2%29%29%3B%0A++end%0Aend\&main_document=main.tex)

此範例的第一頁包含以下輸出：

![範例清單程式碼片段](/files/12e96cf98054e18e98218d6d9634d2b121a04ebd)

若要列印所有「listing」元素的清單，請使用 `\listoflistings`。在上面的範例中，預設標題 `List of listings` 會改成 `List of source codes` ，只要寫下

```latex
\renewcommand\listoflistingscaption{原始碼清單目錄}
\listoflistings % 現在輸出清單
```

上例產生的第二頁包含以下清單：

![程式碼清單範例](/files/c9484ce18ef1989e0056cbd9a3012ddf2a6f317f)

## 參考指南

**minted 的顏色樣式**

| 名稱       | 輸出                                                                    | 名稱       | 輸出                                                                     |
| -------- | --------------------------------------------------------------------- | -------- | ---------------------------------------------------------------------- |
| manni    | ![MintedStyles1.png](/files/af7a4fe5ebd78b8557292f9211e7af554265dbaa) | fruity   | ![MintedStyles10.png](/files/245c215b6f2a48aebf343f6d0f5786e4c95ea6f8) |
| rrt      | ![MintedStyles2.png](/files/d4b3af757ced41a0dd18c38fa172d4e26a7ac2d9) | autumn   | ![MintedStyles11.png](/files/53785d858c4a20dc4f1082582080f1b42c40e56d) |
| perldoc  | ![MintedStyles3.png](/files/8ceade75b655283f8026f263bd25f982e5e29561) | bw       | ![MintedStyles12.png](/files/41b8d4645999bf195da5060821990542c350e42b) |
| borland  | ![MintedStyles4.png](/files/1bb8ce4b0bd175bcc338c1f2f84ddfcef6833c9a) | emacs    | ![MintedStyles13.png](/files/a7d4e10e6032d202f9f3e70e6f0a32431e7f71e3) |
| colorful | ![MintedStyles5.png](/files/d302d066dcc20c4442a2e83906ab3fbccb763961) | vim      | ![MintedStyles14.png](/files/13cdd04654fef354090c547f775289bf58bfac65) |
| murphy   | ![MintedStyles6.png](/files/eaee905fcb26a23939666e5f7d04b951b595dbf0) | pastie   | ![MintedStyles15.png](/files/befbf98933de9118f070972b58bdfd0a11bfe392) |
| vs       | ![MintedStyles7.png](/files/ca18b4ede395a8062255daf21473422a30ebafab) | friendly | ![MintedStyles16.png](/files/c46e2439d11bc081380472f66ec2a4dc3c6e5f92) |
| trac     | ![MintedStyles8.png](/files/f3ec96602c364bef3edbf184c7728aa2307df346) | native   | ![MintedStyles17.png](/files/9c5a59b3feb5ac9dc42cbfe10032e38ce6668b20) |
| tango    | ![MintedStyles9.png](/files/4deb9e88b007a80bfa2027998cbbeb1b280b96ef) | monokai  | ![MintedStyles18.png](/files/0eece69737edcbf69752a43503a5fee91435b953) |

某些配色方案需要深色背景才容易閱讀。

**主要支援的程式語言與設定檔**

|          |            |             |           |
| -------- | ---------- | ----------- | --------- |
| cucumber | abap       | ada         | ahk       |
| antlr    | apacheconf | applescript | as        |
| aspectj  | autoit     | asy         | awk       |
| basemake | bash       | bat         | bbcode    |
| befunge  | bmax       | boo         | brainfuck |
| bro      | bugs       | c           | ceylon    |
| cfm      | cfs        | cheetah     | clj       |
| cmake    | cobol      | cl          | console   |
| control  | coq        | cpp         | croc      |
| csharp   | css        | cuda        | cyx       |
| d        | dg         | diff        | django    |
| dpatch   | duel       | dylan       | ec        |
| erb      | evoque     | fan         | fancy     |
| fortran  | gas        | genshi      | glsl      |
| gnuplot  | go         | gosu        | groovy    |
| gst      | haml       | haskell     | hxml      |
| html     | http       | hx          | idl       |
| irc      | ini        | java        | jade      |
| js       | json       | jsp         | kconfig   |
| koka     | lasso      | livescrit   | llvm      |
| logos    | lua        | mako        | mason     |
| matlab   | minid      | monkey      | moon      |
| mxml     | myghty     | mysql       | nasm      |
| newlisp  | newspeak   | numpy       | ocaml     |
| octave   | ooc        | perl        | php       |
| plpgsql  | postgresql | postscript  | pot       |
| prolog   | psql       | puppet      | python    |
| qml      | ragel      | raw         | ruby      |
| rhtml    | sass       | scheme      | smalltalk |
| sql      | ssp        | tcl         | tea       |
| tex      | 文字         | vala        | vgl       |
| vim      | xml        | xquery      | yaml      |

## 延伸閱讀

詳情請見：

* [LaTeX 中的長度](/latex/zh-tw/ge-shi-hua/01-lengths-in-latex.md)
* [程式碼清單](/latex/zh-tw/ge-shi-hua/11-code-listing.md)
* [計數器](/latex/zh-tw/ge-shi-hua/10-counters.md)
* [在 LaTeX 中使用顏色](/latex/zh-tw/ge-shi-hua/13-using-colors-in-latex.md)
* [字型大小、字族與樣式](/latex/zh-tw/zi-xing/01-font-sizes-families-and-styles.md)
* [字型字體](/latex/zh-tw/zi-xing/02-font-typefaces.md)
* [大型專案中的管理](/latex/zh-tw/wen-jian-jie-gou/07-management-in-a-large-project.md)
* [多檔案 LaTeX 專案](/latex/zh-tw/wen-jian-jie-gou/08-multi-file-latex-projects.md)
* [目錄](/latex/zh-tw/wen-jian-jie-gou/02-table-of-contents.md)
* [單面與雙面文件](/latex/zh-tw/ge-shi-hua/08-single-sided-and-double-sided-documents.md)
* [該 **minted** 套件說明文件](https://texdoc.org/serve/minted/0)


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://overleaf-pro.ayaka.space/latex/zh-tw/ge-shi-hua/12-code-highlighting-with-minted.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
