Tento článek ukazuje, jak pomocí balíčku minted formátovat a zvýrazňovat zdrojový kód programovacích jazyků v dokumentu LaTeX. Začneme příkladem:
\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}
Tento příklad vytvoří následující výstup:
Jsou zde dva důležité příkazy. V preambuli se balíček importuje zápisem
\usepackage{minted}
poté značky \begin{minted}{python} a \end{minted} vymezují prostředí, které vysází text doslovně neproporcionálním písmem a zároveň obarví komentáře, klíčová slova a funkce. Parametr python udává programovací jazyk, ve kterém je zdrojový kód napsán. minted podporuje přes 150 programovacích a značkovacích jazyků i konfiguračních souborů; seznam podporovaných jazyků najdete v referenční příručce.Poznámka: Aby minted fungoval s vaší lokální distribucí LaTeXu, musí být nainstalován další program s názvem Pygments. Overleaf vám může ušetřit starosti s jeho instalací a se spouštěním speciálních příkazů pro kompilaci dokumentu — na Overleaf fungují dokumenty používající minted „hned po vybalení“.
Jak ukazuje následující příklad, prostředí minted lze nakonfigurovat tak, aby se změnila vizuální podoba vysázeného kódu. Zde prostředí minted používá několik parametrů ve tvaru key=value oddělených čárkami:
\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}
Tento příklad vytvoří následující výstup:
V tomto příkladu jsou použity tyto parametry:
frame=lines: nakreslí dvě čáry, jednu nad kódem a jednu pod ním, které jej orámují. Další možné hodnoty jsou leftline, topline, bottomline a single.
framesep=2mm: vzdálenost rámečku je nastavena na 2 mm. Lze použít i jiné jednotky délky.
baselinestretch=1.2: řádkování kódu je nastaveno na 1,2.
bgcolor=LightGray: barva pozadí je nastavena na LightGray. Aby to fungovalo, musíte importovat balíček xcolor. Více o práci s barvami se dozvíte v článku Používání barev v LaTeXu.
fontsize=\footnotesize: velikost písma je nastavena na footnotesize. Lze nastavit jakoukoli jinou velikost písma.
linenos: zapne číslování řádků.
Další užitečné volby jsou:
mathescape: zapne matematický režim v komentářích kódu.
rulecolor: změní barvu rámečku.
showspaces: zapne zobrazení speciálního znaku, který zviditelní mezery.
Kód je obvykle uložen ve zdrojovém souboru, proto je velmi praktický příkaz, který kód ze souboru automaticky naimportuje, jak ukazuje následující příklad:
\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}
Tento příklad vytvoří následující výstup:Příkaz \inputminted{octave}{BitXorMatrix.m} naimportuje kód ze souboru BitXorMatrix.m, parametr octave sděluje LaTeXu programovací jazyk kódu. Tento příkaz může přijmout dva další parametry pro import pouze části souboru; například pro import kódu od řádku 2 do řádku 12 bude příkaz vypadat takto:
Pokud potřebujete vložit jen jeden řádek kódu, poslouží příkaz \mint, jehož syntaxe je uvedena v dalším příkladu.
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.
Tento příklad vytvoří následující výstup:Parametr ve složených závorkách nastavuje programovací jazyk (v tomto případě značkovací jazyk html), přičemž samotný text k formátování je ohraničen znakem ’|’.
Pokud používáte sandboxovou kompilaci a zároveň nasazujete Overleaf na vlastním serveru, nemusí minted fungovat správně. Podrobné informace najdete zde: issues/131. Aby minted fungoval, musíte povolit profil instrukcí arm a některá systémová volání.
Naposledy změněno 4. října 2026
Byla tato stránka užitečná?
Assistant
Responses are generated using AI and may contain mistakes.