我使用套件listings
和minted
來在 LaTeX 中突出顯示語法。
我的問題是我的縮排太大(普通製表符)並且我不想使用空間。可以在這裡更改製表符大小嗎?像 tabsize=2 這樣的東西不起作用。
是否可以自動縮排我的程式碼?我的意思是,listings
(或任何其他套件)識別 if 語句等並自動縮排我的整個程式碼。
這是一個簡短的例子:
\documentclass{article}
\usepackage{listings}
\usepackage{minted}
\begin{document}
\begin{minted}{bash}
#!/bin/bash
parameter1=$1
#some commentary
if [ "$parameter1" == "-h" ] || [ "$parameter1" == "--help" ] ;
then
echo my helpfile
else
#the rest of my programcode
\end{minted}
\end{document}
if 語句應如下圖所示:
if [ "$parameter1" == "-h" ] || [ "$parameter1" == "--help" ] ;
then
echo my helpfile
else
#the rest of my programcode
答案1
您可以在您的minted
環境中使用一些可選參數。我添加[obeytabs=true,tabsize=2]
到您的範例中,以及if
和else
區塊的製表符。請仔細查看輸入檔和輸出中的縮排。
請閱讀minted
- 包包的手冊特別是 - 選項的註釋obeyetabs
。
(如果這個答案不適合你,你將不得不使用另一個漂亮的印表機(可能是 SED 腳本),將你的程式碼打亂成你想要的外觀,然後再將其輸入 LaTeX 和minted
。我不知道任何能夠格式化和漂亮列印原始程式碼的LaTeX 套件。
注意:為了 TeX.SE,我必須用空格替換輸入檔的製表符,以類似於輸入檔的外觀。
\documentclass{article}
\usepackage{listings}
\usepackage{minted}
\begin{document}
\begin{minted}[obeytabs=true,tabsize=2]{bash}
#!/bin/bash
parameter1=$1
#some commentary
if [ "$parameter1" == "-h" ] || [ "$parameter1" == "--help" ] ;
then
echo my helpfile
else
#the rest of my programcode
fi
\end{minted}
\end{document}
這是結果: