Denne artikkelen viser hvordan du bruker minted-pakken til å formatere og fremheve kildekode i programmeringsspråk i et LaTeX-dokument, med utgangspunkt i 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 eksempelet gir følgende resultat:
Her er det to viktige kommandoer. I preamblet importeres pakken ved å skrive
\usepackage{minted}
deretter avgrenser taggene \begin{minted}{python} og \end{minted} et miljø som skriver ut teksten ordrett med skrift med fast bredde, og som også fargelegger kommentarer, nøkkelord og funksjoner. Parameteren python er programmeringsspråket kildekoden er skrevet i. minted støtter over 150 programmerings- og markeringsspråk samt konfigurasjonsfiler; se referanseguiden for en liste over støttede språk.Merk: For at minted skal fungere med din lokale LaTeX-distribusjon, må et tilleggsprogram kalt Pygments være installert. Overleaf kan spare deg for bryet med å installere det og å måtte kjøre spesielle kommandoer for å kompilere dokumentet — på Overleaf fungerer dokumenter som bruker minted, rett ut av boksen.
Som vist i følgende eksempel kan minted-miljøet konfigureres for å endre den visuelle presentasjonen av den typesatte koden. Her bruker minted-miljøet flere kommaseparerte parametere 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 eksempelet gir følgende resultat:
Parameterne som brukes i dette eksempelet, er:
frame=lines: tegner to linjer, én over og én under koden, for å ramme den inn. Andre mulige verdier er leftline, topline, bottomline og single.
framesep=2mm: avstanden til rammen settes til 2 mm. Andre lengdeenheter kan brukes.
baselinestretch=1.2: linjeavstanden i koden settes til 1,2.
bgcolor=LightGray: bakgrunnsfargen settes til LightGray. Du må importere pakken xcolor for at dette skal fungere. Se Bruke farger i LaTeX for å lære mer om håndtering av farger.
fontsize=\footnotesize: skriftstørrelsen settes til footnotesize. Enhver annen skriftstørrelse kan angis.
linenos: aktiverer linjenumre.
Andre alternativer som kan være nyttige, er:
mathescape: aktiverer matematikkmodus i kodekommentarer.
rulecolor: endrer fargen på rammen.
showspaces: aktiverer et spesialtegn som gjør mellomrom synlige.
Kode lagres vanligvis i en kildefil, så en kommando som automatisk importerer kode fra en fil, er svært 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 eksempelet gir følgende resultat:Kommandoen \inputminted{octave}{BitXorMatrix.m} importerer koden fra filen BitXorMatrix.m, og parameteren octave forteller LaTeX hvilket programmeringsspråk koden er skrevet i. Kommandoen kan ta to ekstra parametere for å importere bare en del av filen; for eksempel, for å importere kode fra linje 2 til linje 12, blir kommandoen:
Hvis du bare trenger å sette inn én kodelinje, gjør kommandoen \mint, hvis syntaks vises i neste eksempel, jobben.
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 eksempelet gir følgende resultat:Parameteren mellom klammeparentesene angir programmeringsspråket (i dette tilfellet markeringsspråket html), og selve teksten som skal formateres, avgrenses av tegnet ’|’.
Hvis du bruker sandboxed kompilering og i tillegg en Overleaf-server til å drifte Overleaf, er det ikke sikkert at minted fungerer godt. For detaljert informasjon, se: issues/131. Du må aktivere ARM-instruksjonsprofilen og enkelte systemkall for at minted skal fungere.
Sist endret 4. oktober 2026
Var denne siden nyttig?
Assistant
Responses are generated using AI and may contain mistakes.