更改制表符大小和自动缩进(包: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-environment 使用一些可选参数。我已将其添加[obeytabs=true,tabsize=2]到您的示例中,以及ifelse块的 Tabstops。请仔细查看输入文件和输出中的缩进。

请阅读minted软件包手册特别是对 -option 的注释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}

结果如下:

在此处输入图片描述

相关内容