我想知道是否有选项可以设置我的源代码中的所有空格。
我的 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}
结果: