你能标准化源代码中的空格吗?

你能标准化源代码中的空格吗?

我想知道是否有选项可以设置我的源代码中的所有空格。

我的 CPP 代码中的空格看起来不一致。有时我在 = 符号前后留一个空格,有时则不留。循环等也一样。

是否有任何参数可以使空格、格式更加“统一”

答案1

listings和软件包minted不提供重新格式化/美化代码的功能。但是,一种可能的解决方案是先调用外部格式化程序并打印结果。对于 C++,处理空格的格式化程序是clang-format,它是 Clang 编译器套件的一部分。

在 LaTeX 中,您可以使用该shellesc包轻松地跨平台执行外部程序。该包需要shell-escape命令行选项,这也是 所需的minted

格式错误的 C++ 文件示例:

#include <iostream>

int main(){
   int a= 3;
   int b =4;
   if( a==b){
      std::cout  << "no" <<std::endl;
      }else{ std::cout << "yes"<<std::endl;
      }
return 0;
}

LaTeX 代码:

\documentclass{article}
\usepackage{minted}
\usepackage{shellesc}

\newcommand{\reformatcpp}[1]{%
   \ShellEscape{clang-format #1 > #1.tmp}%
   \inputminted{c++}{#1.tmp}%
}

\begin{document}
\section*{Original file}
\inputminted{c++}{yourfile.cc}
\section*{Reformatted}
\reformatcpp{yourfile.cc}
\end{document}

结果:

在此处输入图片描述

相关内容