Przejdź do treści

minted w Scissor LaTeX

Pakiet minted działa w Scissor LaTeX częściowo: \begin{minted}{python} i \mintinline działają bez Pythona i -shell-escape, z kolorami składni ze stałego schematu; opcje takie jak linenos, \setminted, \usemintedstyle, podpis listing, \mint i \inputminted nie są obsługiwane.

Do czego służy pakiet

minted koloruje kod źródłowy za pomocą biblioteki Pygments. Piszesz \begin{minted}{python} ... \end{minted} albo \mintinline{python}{code} wewnątrz zdania. Opcje takie jak linenos i frame=lines zmieniają układ, \setminted ustawia je dla całego dokumentu, a \usemintedstyle wybiera motyw kolorów. W instalacji TeX minted wymaga Pythona z Pygments, a dokument trzeba kompilować z -shell-escape.

Co tu działa

FunkcjaW Scissor LaTeXUwagi
\begin{minted}{lang} ... \end{minted}DziałaZ kolorami, bez Pythona i shell escape.
\mintinline{lang}{code}DziałaFont o stałej szerokości, bez kolorów.
Opcje: [linenos, frame=lines, bgcolor=...]PomijaneIgnorowane bez komunikatu.
\setminted{...}, \usemintedstyle{...}PomijaneIgnorowane bez komunikatu; kolory są stałe.
Środowisko listing z \captionCzęściowoKod jest pokazywany, a podpis wypisywany jako zwykły tekst, bez „Listing 1”; \ref do niego pokazuje „??”.
\mint{lang}|code|NieobsługiwanePomijane z komunikatem; język i kod są wypisywane jako zwykły tekst.
\inputminted{lang}{file}NieobsługiwanePomijane z komunikatem.
\newminted, \newmintinlineNieobsługiwanePomijane z komunikatem, a argumenty są wypisywane.

Nazwy języków są takie same jak w listings: Python, C, C++, Java, JavaScript, Rust, Go, R, MATLAB, SQL, Bash, HTML, TeX i wiele innych, wielkimi lub małymi literami.

Przykłady

Blok minted z językiem:

minted z JavaScript

LaTeXPreambuła: \usepackage{minted}Otwórz w edytorze (otwiera się w nowej karcie)
\begin{minted}{javascript}
// greet a list of people
const people = ["Erika", "Hans", "John"];
for (const name of people) {
  console.log(`Hello, ${name}!`);
}
\end{minted}
Złożone przez Scissor LaTeX: minted z JavaScript

Opcje są akceptowane i ignorowane, więc ten blok nie ma tu numerów wierszy ani ramki:

linenos i frame są ignorowane

LaTeXPreambuła: \usepackage{minted}Otwórz w edytorze (otwiera się w nowej karcie)
\begin{minted}[linenos, frame=lines]{rust}
fn main() {
    let total: u32 = (1..=8).sum();
    println!("{}", total + 8); // 44
}
\end{minted}
Złożone przez Scissor LaTeX: linenos i frame są ignorowane

Aby uzyskać numerowany podpis, użyj figure zamiast środowiska listing z minted. Tutaj podpis brzmi „Listing 1”, a \ref daje numer:

Blok minted z podpisem wewnątrz figure

LaTeXPreambuła: \usepackage{minted}Otwórz w edytorze (otwiera się w nowej karcie)
\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.
Złożone przez Scissor LaTeX: Blok minted z podpisem wewnątrz figure

Zgodność

  • Z instalacji TeX do Scissor LaTeX: każdy blok minted jest pokazywany z kolorami. Opcje i style nie są stosowane; zastąp \mint poleceniem \mintinline, a kod z plików \inputminted wklej do dokumentu.
  • Ze Scissor LaTeX do instalacji TeX: bloki minted kompilują się tam, gdy dostępne są Python, Pygments i -shell-escape. figure wokół bloku minted dostaje tam podpis „Figure 1”.

Pełna dokumentacja jest dostępna w CTAN: ctan.org/pkg/minted. Zobacz też Listingi kodu w LaTeX.

Pytania i odpowiedzi

Czy minted działa bez shell escape?

Tutaj tak. Scissor LaTeX sam koloruje bloki minted, więc nie są potrzebne ani Python, ani -shell-escape. W instalacji TeX oba są nadal wymagane.

Używać minted czy listings?

Tutaj oba działają tak samo: język jest odczytywany, a pozostałe opcje są ignorowane. Jeśli dokument ma się kompilować także gdzie indziej bez shell escape, bezpieczniejszym wyborem jest listings.

Każdy przykład na tej stronie jest składany przez Scissor LaTeX podczas budowania witryny. Ostatnia aktualizacja: 2026-11-07.