minted宏包的功能與listings宏包類似,用於更好的顯示源代碼。minted使用時略微比listings宏包麻煩一些,下面列出相關事宜。
操作系統:Ubuntu 18.04 LaTeX工具:TeXstudio 2.12.6 編譯方式:LuaLaTeX python 2.7.17 pygments 2.5.2
1、安裝pygments庫
minted依託於pygments庫,因此必須安裝。
sudo -H pip install pygments
如果使用的操作系統是Ubuntu 20.04,會稍有不同。Ubuntu 20.04默認安裝的是python3,可以使用以下命令來安裝pygments庫。
sudo apt install python3-pip
...
sudo -H pip3 install pygments
第一個命令是先安裝python3的pip;第二個是使用pip3命令安裝pygments庫,安裝時我這裏經常會碰到安裝不成功的問題,是網絡造成的,多試幾次總會成功的。
對於18.04與20.04的Ubuntu,下面的使用方法都一樣。
2、修改編譯參數
在TeXstudio內,點擊Options->Configure TeXstudio->Commands,原來的LuaLaTeX編譯命令爲:
lualatex -synctex=1 -interaction=nonstopmode %.tex
添加參數-shell-escape,修改爲:
lualatex -shell-escape -synctex=1 -interaction=nonstopmode %.tex
3、調用minted宏包
在minted宏包調用命令中加入cache=false參數:
\usepackage[cache=false]{minted}
下面是一個簡單的示例:
% 開源中國,陸巍
\documentclass{article}%
%
\usepackage{ctex}% 中文支持
\usepackage{geometry}% 用於頁面設置
\usepackage[english]{babel}% 載入美式英語斷字模板
\usepackage[dvipsnames, svgnames, x11names]{xcolor}% 顏色支持
\usepackage[cache=false]{minted}
% ------------------ 開始 -------------------
%
\begin{document}
\section{minted宏包示例}
\begin{minted}[linenos=true, frame=single, breaklines=true]{cmake}
# Copyright (c) 2018, NVIDIA CORPORATION. All rights reserved.
# Full license terms provided in LICENSE.md file.
# Build with:
# Debug: cmake -DCMAKE_BUILD_TYPE=Debug ..
cmake_minimum_required(VERSION 3.5)
set(default_build_type "Release")
if (NOT CMAKE_BUILD_TYPE)
set(CMAKE_BUILD_TYPE "Release")
endif()
if ("${CMAKE_BUILD_TYPE}" STREQUAL "Debug")
set(TARGET_SUFFIX "_debug")
message("Using ${TARGET_SUFFIX} suffix.")
endif()
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/../bin")
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/../bin")
add_subdirectory(lib)
add_subdirectory(sample_app)
add_subdirectory(tests)
\end{minted}
\end{document}
效果如下:
說明:
1、在\begin{minted}[linenos=true, frame=single]{cmake}語句中,linenos用於設置行號,frame用於設置邊框。
2、minted更多說明請查閱相關幫助文檔。在我的另一篇日記LaTeX——部分宏包幫助文檔百度網盤下載中有文檔的下載地址。
3、minted目前支持三百多種語言(遠超listings宏包),具體的語言名稱可用命令查看:pygmentize -L lexers