Poniżej można znaleźć kilka informacji o sposobach użycia pakietu minted, pozwalającego na kolorowanie składni w Latexu.

Oznaczanie kodu źródłowego w dokumencie

Kod źródłowy można w przypadku tego pakietu włączyć na kilka sposobów, każdy może się przydać w określonych sytuacjach:

  • \mint – osadzenie pojedynczej linii kodu.
    Kod Latex Efekt działania
    1
    Osadzenie kodu \mint{java}|public class HelloWorld|
    Użycie mint

    Do oznaczenia kodu źródłowego można użyć praktycznie dowolnych znaków, które w nim nie występują. Można także dodać dodatkowe opcje konfiguracyjne.

  • minted – osadzanie większej ilości kodu

    Oznaczenie obszaru kodu źródłowego można zrealizować w następujący sposób:

    Kod Latex Efekt działania
    1
    2
    3
    4
    5
    \begin{minted}{java}
      private boolean hello() {
        return true;
      }
    \end{minted
    }
    Użycie minted
  • listing – pozwala na otoczenia kodu źródłowego i dodanie jeszcze dodatkowego opisu i referencji do kodu
    Kod Latex Efekt działania
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Bardzo interesująca funkcję można
    znaleźć w przykładzie \ref{java:hello}

    \begin{listing}
      \begin{minted}[gobble=4]{java}
        private boolean hello() {
          return true;
        }
      \end{minted}
      \caption{Funkcja hello}
      \label{java:hello}
    \end{listing
    }
    Użycie listing

    Z takim sposobem wyświetlania kodu łączą się jeszcze dodatkowe polecenia:

    • \listoflistings – wyświetlenie listy wszystkich listingów
    • \renewcommand\listingscaption{Kod źródłowy} – przedefiniowanie standardowego podpisu pod kodem źródłowym
    • \renewcommand\listoflistingscaption{Lista kodów źródłowych} – przedefiniowawszy standardowego opisu do listy kodów źródłowych

Definicja własnych skrótów

Istnieje możliwość zdefiniowania własnych sposobów na oznaczanie kodu źródłowego. W połączeniu wyborem języka oraz zestawem domyślnie używanych opcji może to bardzo ułatwić wprowadzanie kodu źródłowego w ramach dokumentu i zapewni jego spójny wygląd.

  • \newminted – pozwala na definicję skrótu dla środowiska minted:
    Kod Latex Efekt działania
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    \newminted{java}{gobble=2,linenos}

    \begin{javacode}
      private boolean hello() {
        return true;
      }
    \end{javacode
    }

    % definicja dodatkowych opcji

    \begin{javacode*}{linenos=false}
      private boolean hello() {
        return true;
      }
    \end{javacode*
    }
    Użycie newminted

    Istnieje także możliwość definicji własnej nazwy dla środowiska:

    Kod Latex Efekt działania
    1
    2
    3
    4
    5
    6
    \newminted[ja]{java}{frame=single}
    \begin{ja}
      private boolean hello() {
        return true;
      }
    \end{ja
    }
    Własna nazwa środowiska

Niektóry opcje konfiguracyjne

minted pozwala na użycie szeregu opcji konfiguracyjnych, które mają wpływ na sposób formatowania kodu źródłowego. Poniżej lista tych parametrów dla mnie najważniejszych.

  • baselinestretch (auto|dimension) – ustalenie odstępu pomiędzy wierszami:
    Kod Latex Efekt działania
    1
    2
    3
    4
    5
    6
    \begin{minted}[gobble=2,
          baselinestretch=1.5
    ]{java}
      private boolean hello() {
        return true;
      }
    \end{minted
    }
    baselinestretch
  • firstline (integer) – pierwsza linia kodu źródłowego do pokazania, domyślnie wartość 1
    Kod Latex Efekt działania
    1
    2
    3
    4
    5
    6
    \begin{minted}[gobble=2,
          firstline=2
    ]{java}
      private boolean hello() {
        return true;
      }
    \end{minted
    }
    firstline
  • lastline (integer) – ostatnia linia kodu źródłowego do wyświetlania, pozostałe będą ignorowane, domyślnie ostatnia linia
    Kod Latex Efekt działania
    1
    2
    3
    4
    5
    6
    \begin{minted}[gobble=2,
          lastline=2
    ]{java}
      private boolean hello() {
        return true;
      }
    \end{minted
    }
    lastline
  • firstnumber (auto|integer) – numer pierwszej linii, jeżeli włączone jest ich numerowanie
    Kod Latex Efekt działania
    1
    2
    3
    4
    5
    6
    7
    \begin{minted}[gobble=2,
          linenos,
          firstnumber=43
    ]{java}
      private boolean hello() {
        return true;
      }
    \end{minted
    }
    firstnumber
  • frame (none|leftline|topline|bottomline|lines|single) – format ramki wokół kodu xródłowego
    Kod Latex Efekt działania
    1
    2
    3
    4
    5
    6
    \begin{minted}[gobble=2,
          frame=lines
    ]{java}
      private boolean hello() {
        return true;
      }
    \end{minted
    }
    frame
  • gobble (integer) – wycięcie określonej ilości znaków na początku kodu, przydatne aby niwelować wcięcia z kodu Latex
    Kod Latex Efekt działania
    1
    2
    3
    4
    5
    \begin{minted}[gobble=2]{java}
      private boolean hello() {
        return true;
      }
    \end{minted
    }
    gobble
  • linenos (boolean) – dodanie numeracji do poszczególnych linii
    Kod Latex Efekt działania
    1
    2
    3
    4
    5
    6
    \begin{minted}[gobble=2,
          linenos
    ]{java}
      private boolean hello() {
        return true;
      }
    \end{minted
    }
  • samepage (boolean) – nie dzieleniu kodu między różne strony
  • showspaces (boolean) – zaznaczenie spacji (i u mnie nie zadziałało…)

Źródła