Dit artikel laat zien hoe je het pakket minted gebruikt om broncode van programmeertalen in een LaTeX-document op te maken en te markeren. We beginnen met een voorbeeld:
\documentclass{article}\usepackage{minted}\begin{document}\begin{minted}{python}import numpy as npdef incmatrix(genl1,genl2): m = len(genl1) n = len(genl2) M = None #to become the incidence matrix VT = np.zeros((n*m,1), int) #dummy variable #compute the bitwise xor matrix M1 = bitxormatrix(genl1) M2 = np.triu(bitxormatrix(genl2),1) for i in range(m-1): for j in range(i+1, m): [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; 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}\end{document}
Dit voorbeeld levert de volgende uitvoer op:
Er zijn hier twee belangrijke opdrachten. In de preamble wordt het pakket geïmporteerd door te schrijven
\usepackage{minted}
waarna de tags \begin{minted}{python} en \end{minted} een omgeving afbakenen die de tekst letterlijk in een monospaced lettertype weergeeft en daarnaast kleur toepast op commentaar, trefwoorden en functies. De parameter python is de programmeertaal waarin de broncode is geschreven. minted ondersteunt meer dan 150 programmeer- en opmaaktalen, evenals configuratiebestanden; zie de naslaggids voor een lijst met ondersteunde talen.Opmerking: om minted te laten werken met je lokale LaTeX-distributie, moet een extra programma genaamd Pygments zijn geïnstalleerd. Overleaf bespaart je de moeite om het te installeren en speciale opdrachten uit te voeren om je document te compileren: op Overleaf werken documenten die minted gebruiken direct “out of the box”.
Zoals in het volgende voorbeeld wordt getoond, kan de omgeving minted worden geconfigureerd om de visuele weergave van de gezette code aan te passen. Hier gebruikt de omgeving minted verschillende door komma’s gescheiden parameters in de vorm key=value:
\documentclass{article}\usepackage{minted}\usepackage{xcolor} % to access the named colour LightGray\definecolor{LightGray}{gray}{0.9}\begin{document}\begin{minted}[frame=lines,framesep=2mm,baselinestretch=1.2,bgcolor=LightGray,fontsize=\footnotesize,linenos]{python}import numpy as npdef incmatrix(genl1,genl2): m = len(genl1) n = len(genl2) M = None #to become the incidence matrix VT = np.zeros((n*m,1), int) #dummy variable #compute the bitwise xor matrix M1 = bitxormatrix(genl1) M2 = np.triu(bitxormatrix(genl2),1) for i in range(m-1): for j in range(i+1, m): [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; 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}\end{document}
Dit voorbeeld levert de volgende uitvoer op:
De parameters die in dit voorbeeld worden gebruikt, zijn:
frame=lines: tekent twee lijnen, één boven en één onder de code, om deze te omkaderen. Andere mogelijke waarden zijn leftline, topline, bottomline en single.
framesep=2mm: de afstand tot het kader wordt ingesteld op 2mm. Andere lengte-eenheden kunnen ook worden gebruikt.
baselinestretch=1.2: de regelafstand van de code wordt ingesteld op 1.2.
bgcolor=LightGray: achtergrondkleur ingesteld op LightGray. Hiervoor moet je het pakket xcolor importeren. Zie Using colours in LaTeX voor meer informatie over het werken met kleuren.
fontsize=\footnotesize: lettergrootte ingesteld op footnotesize. Elke andere lettergrootte kan worden ingesteld.
linenos: schakelt regelnummers in.
Andere opties die nuttig kunnen zijn:
mathescape: schakelt de wiskundemodus in codecommentaar in.
rulecolor: wijzigt de kleur van het kader.
showspaces: schakelt een speciaal teken in om spaties zichtbaar te maken.
Code wordt meestal in een bronbestand bewaard; een opdracht die code automatisch uit een bestand importeert is daarom erg handig, zoals in het volgende voorbeeld wordt getoond:
\documentclass{article}\usepackage{minted}\title{Importing files using minted}\begin{document}The next code will be directly imported from a file:\inputminted{octave}{BitXorMatrix.m}\end{document}
Dit voorbeeld levert de volgende uitvoer op:De opdracht \inputminted{octave}{BitXorMatrix.m} importeert de code uit het bestand BitXorMatrix.m; de parameter octave vertelt LaTeX in welke programmeertaal de code is geschreven. Deze opdracht kan twee extra parameters krijgen om slechts een deel van het bestand te importeren; om bijvoorbeeld code van regel 2 tot regel 12 te importeren, wordt de opdracht:
Als je slechts één regel code wilt invoegen, volstaat de opdracht \mint, waarvan de syntaxis in het volgende voorbeeld wordt getoond.
One-line code formatting also works with \texttt{minted}. For example, a small fragment of HTML like this:\mint{html}|<h2>Something <b>here</b></h2>|\noindent can be formatted correctly.
Dit voorbeeld levert de volgende uitvoer op:De parameter tussen accolades bepaalt de programmeertaal (in dit geval de opmaaktaal html), waarbij de daadwerkelijk op te maken tekst wordt afgebakend door het teken ’|’.
Als je sandbox-compilatie gebruikt en Overleaf ook met een Overleaf-server implementeert, werkt minted mogelijk niet goed. Zie voor gedetailleerde informatie: issues/131. Je moet het ARM-instructieprofiel en enkele systeemaanroepen inschakelen om minted te laten werken.
Laatst gewijzigd op 4 oktober 2026
Was deze pagina nuttig?
Assistant
Responses are generated using AI and may contain mistakes.