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 1Osadzenie kodu \mint{java}|public class HelloWorld|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 koduOznaczenie 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}listing
– pozwala na otoczenia kodu źródłowego i dodanie jeszcze dodatkowego opisu i referencji do kodu
Kod Latex Efekt działania 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 środowiskaminted
:
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}
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}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}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}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}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}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}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 stronyshowspaces (boolean)
– zaznaczenie spacji (i u mnie nie zadziałało…)
#1 by Fisiu on 2012/05/25 - 02:59
Czy wiesz jak zmusić \listoflistings do tego aby lista ‚kodów’ była widoczna w spisie treści dokumentu, tak jak ma to miejsce w przypadku \listoftables czy \listoffigures?
Łukasz Stelmach Reply:
Maj 27th, 2012 at 23:54
Spis listingów będzie działać, jeżeli użyjesz polecenia \caption w ramach środowiska listing. Polecenie \listoflistings generuje wtedy spis treści.
Przykład możesz znaleźć w ramach dokumentacji pakietu minted, w rozdziale 4 Floated listings.
#2 by Fisiu on 2012/07/14 - 20:59
W sumie to rozwiązałem mój problem dodając poniżej \listoflistings:
\addcontentsline{toc}{chapter}{\listoflistingscaption}
I robi dokładnie to co chciałem 🙂