更改製表符大小和自動縮排(套件:listings/minted)

更改製表符大小和自動縮排(套件:listings/minted)

我使用套件listingsminted來在 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]到您的範例中,以及ifelse區塊的製表符。請仔細查看輸入檔和輸出中的縮排。

請閱讀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}

這是結果:

在此輸入影像描述

相關內容