\documentclass{article} % =================================================== % _____ _ % | ____|_ ____ _ _ __ ___ _ __ | | ___ % | _| \ \/ / _` | '_ ` _ \| '_ \| |/ _ \ % | |___ > < (_| | | | | | | |_) | | __/ % |_____/_/\_\__,_|_| |_| |_| .__/|_|\___| % |_| % License: MIT % Author: Sven Vogel % Copyright: Sven Vogel (2023) % Based on the tutorial at: % https://www.overleaf.com/learn/latex/Code_Highlighting_with_minted % More infos can be found here: % https://tug.ctan.org/macros/latex/contrib/minted/minted.pdf % =================================================== % include the required package % make sure this is installed: % > tlmgr install minted \usepackage{minted} % =================================================== % set global style for minted \usemintedstyle{borland} % set global options for all listings % these can also be applied locally to individual listings \setminted { linenos=true, % enable line numbers bgcolor=lightgray, % background color resetmargins=true, tabsize=4, % white spaces for tabs xleftmargin=24pt, % margin to the left side. can be used to include line numbers escapeinside=|| % symbols used to escape LaTeX } % =================================================== \title{Minted-Syntax-Hightlightning-Test} \author{Sven Vogel} \date{September 2023} \begin{document} \maketitle % =================================================== % Add the list of listings \renewcommand\listoflistingscaption{List of source codes} \listoflistings % Now typeset the list % =================================================== \section{Introduction} The following will show some syntax highlighted source code: % =================================================== % define some source code and specifiy the language % every minted block is wrapped in a listing block for alignment and % the option to add some caption and label \begin{listing}[ht] % vvvvvvvv <= specifiy language \begin{minted}{python} def incmatrix(genl1,genl2): for i in range(m-1): for j in range(i+1, m): // TODO: do sth. [r,c] = np.where(M2 == M1[i,j]) for k in range(len(r)): VT[(i)*n + r[k]] = 1; VT[(i)*n + c[k]] = 1; VT[(j)*n + r[k]] = 1; VT[(j)*n + c[k]] = 1; # the following text is escaped LaTeX |\colorbox{yellow}{test}| if M is None: M = np.copy(VT) else: M = np.concatenate((M, VT), 1) VT = np.zeros((n*m,1), int) return M \end{minted} \caption{Some python code} % add a caption \label{listing:1} % add a label for referencing \end{listing} % inline code: Here we have inline code: \mintinline{python}{print(x**2)}. See? This code is imported from a file: % import code from a file: \begin{listing}[ht] \inputminted{latex}{some_code.txt} \caption{Some latex code} \label{listing:2} \end{listing} % =================================================== \end{document}