minted in Scissor LaTeX
Das Paket minted funktioniert in Scissor LaTeX teilweise: \begin{minted}{python} und \mintinline funktionieren ohne Python und ohne -shell-escape, mit Syntaxfarben aus einem festen Schema; Optionen wie linenos, \setminted, \usemintedstyle, die Beschriftung der Umgebung listing, \mint und \inputminted werden nicht unterstützt.
Was das Paket macht
minted färbt Quellcode mit der Bibliothek Pygments ein. Sie schreiben \begin{minted}{python} ... \end{minted} oder \mintinline{python}{code} innerhalb eines Satzes. Optionen wie linenos und frame=lines ändern das Layout, \setminted legt sie für das ganze Dokument fest, und \usemintedstyle wählt ein Farbschema. In einer TeX-Installation braucht minted Python mit Pygments, und das Dokument muss mit -shell-escape übersetzt werden.
Was hier funktioniert
| Funktion | In Scissor LaTeX | Hinweise |
|---|---|---|
\begin{minted}{lang} ... \end{minted} | Funktioniert | Eingefärbt, ohne Python und Shell-Escape. |
\mintinline{lang}{code} | Funktioniert | Dicktengleich, ohne Farben. |
Optionen: [linenos, frame=lines, bgcolor=...] | Entfällt | Ohne Meldung ignoriert. |
\setminted{...}, \usemintedstyle{...} | Entfällt | Ohne Meldung ignoriert; die Farben sind fest. |
Umgebung listing mit \caption | Teilweise | Der Code wird angezeigt und die Beschriftung als einfacher Text ausgegeben, ohne „Listing 1“; ein \ref darauf zeigt „??“. |
\mint{lang}|code| | Nicht unterstützt | Mit einer Meldung übersprungen; Sprache und Code erscheinen als einfacher Text. |
\inputminted{lang}{file} | Nicht unterstützt | Mit einer Meldung übersprungen. |
\newminted, \newmintinline | Nicht unterstützt | Mit einer Meldung übersprungen, und die Argumente erscheinen als Text. |
Die Sprachnamen sind dieselben wie bei listings: Python, C, C++, Java, JavaScript, Rust, Go, R, MATLAB, SQL, Bash, HTML, TeX und viele weitere, in Groß- oder Kleinschreibung.
Beispiele
Ein minted-Block mit einer Sprache:
minted mit JavaScript
\begin{minted}{javascript}
// greet a list of people
const people = ["Erika", "Hans", "John"];
for (const name of people) {
console.log(`Hello, ${name}!`);
}
\end{minted}Optionen werden akzeptiert und ignoriert, deshalb hat dieser Block hier weder Zeilennummern noch Rahmen:
linenos und frame werden ignoriert
\begin{minted}[linenos, frame=lines]{rust}
fn main() {
let total: u32 = (1..=8).sum();
println!("{}", total + 8); // 44
}
\end{minted}Für eine nummerierte Beschriftung verwenden Sie eine figure statt der Umgebung listing von minted. Hier lautet die Beschriftung „Listing 1“, und \ref liefert die Nummer:
Ein beschrifteter minted-Block in einer Abbildung
\begin{figure}[h]
\begin{minted}{python}
print(sum(range(44)))
\end{minted}
\caption{Adding the numbers below 44}
\label{lst:sum}
\end{figure}
Listing~\ref{lst:sum} prints 946.Kompatibilität
- Von einer TeX-Installation hierher: Jeder minted-Block wird mit Farben angezeigt. Optionen und Stile werden nicht angewendet; ersetzen Sie
\mintdurch\mintinlineund fügen Sie Code aus Dateien von\inputminteddirekt ins Dokument ein. - Von hier in eine TeX-Installation: minted-Blöcke lassen sich dort übersetzen, wenn Python, Pygments und
-shell-escapeverfügbar sind. Einefigureum einen minted-Block wird dort mit „Figure 1“ beschriftet.
Das vollständige Handbuch steht auf CTAN: ctan.org/pkg/minted. Siehe auch Code-Listings in LaTeX.
Fragen und Antworten
Funktioniert minted ohne Shell-Escape?
Hier ja. Scissor LaTeX färbt minted-Blöcke selbst ein, deshalb braucht es weder Python noch -shell-escape. In einer TeX-Installation ist beides weiterhin nötig.
Soll ich minted oder listings verwenden?
Hier funktionieren beide gleich: Die Sprache wird gelesen, die übrigen Optionen werden ignoriert. Muss sich das Dokument auch anderswo ohne Shell-Escape übersetzen lassen, ist listings die sicherere Wahl.
Jedes Beispiel auf dieser Seite wird beim Erstellen der Website von Scissor LaTeX gesetzt. Zuletzt aktualisiert am 2026-11-07.