Denne artikel viser, hvordan du bruger minted-pakken til at formatere og fremhæve kildekode i programmeringssprog i et LaTeX-dokument. Vi starter med et eksempel:
\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}
Dette eksempel giver følgende output:
Der er to vigtige kommandoer her. I præamblen importeres pakken ved at skrive
\usepackage{minted}
derefter afgrænser mærkerne \begin{minted}{python} og \end{minted} et miljø, der udskriver teksten ordret med en skrifttype med fast bredde og samtidig farvelægger kommentarer, nøgleord og funktioner. Parameteren python er det programmeringssprog, kildekoden er skrevet i. minted understøtter over 150 programmerings- og markupsprog samt konfigurationsfiler; se referencevejledningen for en liste over understøttede sprog.Bemærk: For at minted kan fungere med din lokale LaTeX-distribution, skal et ekstra program kaldet Pygments være installeret. Overleaf kan spare dig for besværet med at installere det og køre særlige kommandoer for at kompilere dit dokument — på Overleaf fungerer dokumenter, der bruger minted, “direkte ud af boksen”.
Som vist i det følgende eksempel kan minted-miljøet konfigureres til at ændre den visuelle præsentation af den typesatte kode. Her bruger minted-miljøet flere kommaseparerede parametre på formen 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}
Dette eksempel giver følgende output:
Parametrene, der bruges i dette eksempel, er:
frame=lines: tegner to linjer, én over og én under koden, som en ramme. Andre mulige værdier er leftline, topline, bottomline og single.
framesep=2mm: afstanden til rammen sættes til 2mm. Andre længdeenheder kan bruges.
baselinestretch=1.2: kodens linjeafstand sættes til 1.2.
bgcolor=LightGray: baggrundsfarven sættes til LightGray. Du skal importere pakken xcolor, for at dette virker. Se Using colours in LaTeX for at lære mere om at arbejde med farver.
fontsize=\footnotesize: skriftstørrelsen sættes til footnotesize. Enhver anden skriftstørrelse kan angives.
linenos: aktiverer linjenumre.
Andre indstillinger, der kan være nyttige, er:
mathescape: aktiverer matematiktilstand i kodekommentarer.
rulecolor: ændrer rammens farve.
showspaces: aktiverer et særligt tegn, der gør mellemrum synlige.
Kode gemmes normalt i en kildefil, så en kommando, der automatisk importerer kode fra en fil, er meget praktisk, som vist i følgende eksempel:
\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}
Dette eksempel giver følgende output:Kommandoen \inputminted{octave}{BitXorMatrix.m} importerer koden fra filen BitXorMatrix.m, og parameteren octave fortæller LaTeX, hvilket programmeringssprog koden er skrevet i. Kommandoen kan tage to ekstra parametre, så kun en del af filen importeres; for eksempel bliver kommandoen sådan for at importere kode fra linje 2 til linje 12:
Hvis du kun skal indsætte én linje kode, klarer kommandoen \mint, hvis syntaks vises i næste eksempel, opgaven.
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.
Dette eksempel giver følgende output:Parameteren i krøllede parenteser angiver programmeringssproget (i dette tilfælde markupsproget html), og den faktiske tekst, der skal formateres, afgrænses af tegnet ’|’.
Hvis du bruger sandboxet kompilering og samtidig en Overleaf-server til at udrulle Overleaf, fungerer minted muligvis ikke godt. For detaljerede oplysninger, se: issues/131. Du skal aktivere arm-instruktionsprofilen og visse systemkald, for at minted kan fungere.
Sidst ændret 4. oktober 2026
Var denne side nyttig?
Assistant
Responses are generated using AI and may contain mistakes.