LaTeX-Paket Syntax-Hervorhebung von Code in verschiedenen Sprachen zu tun
-
08-07-2019 - |
Frage
Ich bin auf der Suche nach einem LaTeX-Paket, das Syntax auf Code hervorgehoben tut. Zum Beispiel verwende ich jetzt das Wort für Wort-Block-Code zu schreiben:
\begin{verbatim}
<html>
<head>
<title>Hello</title>
</head>
<body>Hello</body>
</html>
\end{verbatim}
Und das funktioniert gut, den Code auf meinem Dokument anzuzeigen. Aber ich nehme an dem HTML-Markup die Art und Weise eine IDE würde im Ausgabedokument markieren wollte? Gibt es ein Paket, das helfen könnte?
Ich möchte das gleiche für verschiedene Sprachen wie Java, C #, HTML, CSS und so weiter tun.
Lösung
Sie können über das Inserate Paket. Es unterstützt viele verschiedene Sprachen, und es gibt viele Optionen für die Ausgabe anpassen.
\documentclass{article}
\usepackage{listings}
\begin{document}
\begin{lstlisting}[language=html]
<html>
<head>
<title>Hello</title>
</head>
<body>Hello</body>
</html>
\end{lstlisting}
\end{document}
Andere Tipps
Nach einer ähnliche Frage ich ein anderes Paket erstellt haben, die Pygments verwendet, und bietet eine ganze Reihe mehr Möglichkeiten als texments
. Es heißt minted
und ist recht stabil und verwendbar.
Nur um zu zeigen das Ganze abzurunden, hier ist ein Code hervorgehoben mit geprägt:
LGrind tut dies. Es ist ein reifes LaTeX-Paket, das um ist, seit Adam ein Cowboy war und hat die Unterstützung für viele Programmiersprachen.
würde ich die geprägt rel="noreferrer"> wie erwähnt aus der Entwickler Konrad Rudolph statt der Auflistung Paket . Hier ist der Grund:
Listing Paket
Die Auflistung Paket unterstützt keine Farben standardmäßig. So verwenden Sie Farben, die Sie müssten die Farbe Paket enthalten und definieren farb Regeln selbst mit dem \ lstset Befehl wie für MATLAB-Code erklärt hier .
Auch dann, wenn das Angebot Paket gut funktioniert nicht mit Unicode, aber Sie können diese Probleme beheben, wie erklärt hier und hier .
Der folgende Code
\documentclass{article}
\usepackage{listings}
\begin{document}
\begin{lstlisting}[language=html]
<html>
<head>
<title>Hello</title>
</head>
<body>Hello</body>
</html>
\end{lstlisting}
\end{document}
ergibt folgendes Bild:
geprägt Paket
Das geprägte Paket unterstützt Farben, Unicode und sieht genial. Um jedoch, es zu benutzen, müssen Sie Python haben 2,6 und pygments . In Ubuntu, können Sie Ihre Python-Version im Terminal mit
prüfenpython --version
und Sie können installieren pygments mit
sudo apt-get install python-pygments
Dann geprägt, da macht Anrufe pygments, müssen Sie es mit -Schale-escape wie folgt kompilieren
pdflatex -shell-escape yourfile.tex
Wenn Sie einen Latex-Editor wie Texmaker oder etwas verwenden, würde ich empfehlen, einen Benutzer-Befehl hinzufügen, so dass Sie immer noch im Editor zusammenstellen können.
Der folgende Code
\documentclass{article}
\usepackage{minted}
\begin{document}
\begin{minted}{html}
<!DOCTYPE html>
<html>
<head>
<title>Hello</title>
</head>
<body>Hello</body>
</html>
\end{minted}
\end{document}
ergibt folgendes Bild:
ich meistens lstlistings in Papieren verwenden, aber für farbige Ausgabe (für Folien) Ich verwende pygments statt.
Ich würde vorschlagen, Ihr eigenes Paket definieren, basierend auf dem folgenden tex-Code; dies gibt Ihnen völlige Freiheit. http://ubuntuforums.org/archive/index.php/t-331602. html