Bei der Erstellung des Berichts auf der GolangConf'2019 habe ich LaTeX verwendet. Trotz einiger veralteter Dinge, etwas ungewöhnlichem Verhalten, dürftiger oder komplexer Dokumentation hat es mir plötzlich Spaß gemacht. Ich bin kein LaTeX- „Guru“ geworden, aber ich konnte ziemlich gute Folien erstellen. Und ich möchte die wichtigsten Punkte bei der Erstellung einer modernen Präsentation auf LaTeX beschreiben. Dies sollte insbesondere an IT-Spezialisten gehen, die nach Beruf programmieren. Das Programmieren Ihrer Präsentation macht Spaß.

Warum LaTeX:
- Flexible Überlagerungen (wenn Informationen auf einer Folie der Reihe nach angezeigt werden)
- Wiederholbarkeit und Einzigartigkeit
- Wir schreiben als Programm. Einige Ressourcen können in separaten Dateien gespeichert werden - Code, Liste der Links
Warum nicht LaTeX:
- Nur PDF-Ausgabe
- Die Feinabstimmung von Tabellen und Spalten kann mehr Zeit in Anspruch nehmen als das Bewegen der Maus. In LaTeX müssen Sie keine Präsentation in fünf komplexen Folien erstellen. Und in 55 - ist es notwendig
Beginnen wir mit der Installation
In der Praxis gibt es jetzt eine führende LaTeX / TeX-Dienstprogrammdistribution, die den Rest übernommen hat - TexLive. Die Ausgaben dort sind nach Jahr nummeriert. Stellen Sie archäologische Versionen nicht vor 2018 auf. Fast alle Ubuntu-Benutzer sind hier richtig. Für Mohn-Treiber gibt es ein separates Set . Oder Sie können das universelle Installationsprogramm verwenden, auch für Windows .
CentOS-Benutzer müssen leiden.
In jedem Fall können Sie Ihre eigene Docker-Datei erstellen und verwenden. Beachten Sie jedoch, dass einige Dienstprogramme Systemschriftarten anzeigen möchten.
Die TexLive-Distribution ist schwer und dauert bis zu 5 GB. Sie müssen texlive-full oder ein ähnliches Paket installieren (der Name kann von Distribution zu Distribution variieren).
Im Innenhof des 21. Jahrhunderts können Sie jedoch einen der Online-Dienste nutzen, um mit LaTeX zu arbeiten. Aus irgendeinem Grund wissen nur wenige Wissenschaftler davon nichts. Zum Beispiel einer der fortschrittlichsten.
Ein bisschen über LaTeX
Dies ist keine schrittweise Anleitung für den Einstieg in LaTeX. Wir werden einen kurzen Blick darauf werfen, wie Sie eine Präsentation erstellen und wie Sie Google selbst verwenden. Aber die grundlegenden Referenzen werde ich tun. Achten Sie auch auf Wikiquote .
Dies sieht aus wie eine einfache Präsentation mit dem Beamer-Paket - er ist für die Präsentation verantwortlich:
\documentclass{beamer}
Lass uns gehen
Und hier ist die fertige Präsentation , die ich auf der GolangConf2019 gemacht habe . Um sie herum werden wir uns drehen.
Als erstes sollten Sie als Albtraum alle Verweise auf TeX-Schriftarten vergessen. Donald Knuth begann 1977 mit der Entwicklung des METAFONT-Schriftsystems und führte es 1979 ein. Es war zu der Zeit sehr cool. Aber auf dem Hof im Jahr 2019 können Sie heute Standards für Dateinamen 8 + 3 und spezielle Bitmap-Schriftarten nur in Minuten der Langeweile ziehen. Alle modernen Systeme arbeiten mit modernen Vektorschriften. TexLive-Dienstprogramme haben einen neuen Dokument-Compiler - xelatex . Es ist vollständig kompatibel mit pdflatex, funktioniert jedoch mit Systemschriftarten. Sie müssen lediglich das Paket fontspec oder xltxtra laden (es lädt fontspec) und die folgenden Schriftarten festlegen:
Im Beispiel haben wir sofort die Größe der Präsentation festgelegt (16 cm bis 9 cm), einen Kommentar zur Montage abgegeben und das Babel-Paket angeschlossen, das wir nicht analysieren werden. Für Linux-Benutzer erinnere ich Sie daran, dass TTF-Schriftarten 2019 im Verzeichnis .fonts im Ausgangsverzeichnis abgelegt werden können.
Sie können eine Präsentation ohne spezielles Design erstellen, aber das Gefühl der Schönheit in Beamer ist standardmäßig seltsam, sodass fast jeder bestimmte Themen verwendet. Typischerweise sind Skins eine Sammlung von .sty-Dateien, die sich dort befinden, wo der Compiler sie finden kann, d. H. an derselben Stelle wie die Präsentationsdatei selbst. Das Thema ist mit der entsprechenden Zeile in der Präsentationspräambel verbunden:
\usetheme{gcr2019}
Es gibt übrigens eine wunderbare Anleitung zum Erstellen des einfachsten Themas für das Präsentationsdesign. Ich habe auf der nächsten Konferenz von Oleg Bunin drei Themen behandelt, eines für mich selbst, zwei - um diesen Artikel zu veranschaulichen: eins , zwei und drei .
Grundsätzlich kann alles, was in diesen Themen definiert ist, ein reguläres Blatt in Ihrer Präsentationsdatei sein. Daran ist nichts auszusetzen. Themen sind erforderlich, wenn Wiederholbarkeit erforderlich ist. In jedem der oben genannten Themen gibt es ein Anwendungsbeispiel und ein kompiliertes Ergebnis.
Überlagerung
Überlagerung - In diesem Fall werden Ihre Informationen nach und nach auf derselben Folie angezeigt. Hier ist ein Beispiel:
\begin{frame} \begin{itemize} \item<1-> , !.. , ! \item<2-> – . \item<2-> – \item<3-> ! \end{itemize} \end{frame}
Zuerst erscheint die erste Zeile, dann die zweite und dritte und dann die vierte. Gleichzeitig haben wir gesehen, wie man eine ungeordnete Liste erstellt. Das Overlay-System kann an fast allem befestigt werden. Zum Beispiel habe ich Codezeilen hervorgehoben (wir werden unten darauf eingehen).
Achten Sie auf die Zeilen in meinen Vorlagen:
\setbeamercolor{itemize item}{fg=black} \setbeamercolor{itemize subitem}{fg=black} \setbeamercolor{alerted text}{fg=black} \setbeamertemplate{itemize items}{\textbullet}
Kommentieren Sie die Zeilen aus (verwenden Sie das% -Symbol für Kommentare) und sehen Sie, was passiert. Nicht diese Farbe, blaue Dreiecke und das ist alles.
Ich habe nicht gefunden, wo ich das feststellen kann. Beamer bietet die Möglichkeit, dieselbe Folie mehrmals zu verwenden. Dieser ist wirklich cool:
\begin{frame}[label=again]{ } ... \end{frame} ... \againframe{again}
Bilder
Nehmen Sie ein Beispiel aus meiner Präsentation. Zwei Spalten, links eine ungeordnete Liste und rechts ein Bild:
\begin{frame}{ Acme} \begin{columns}[T,onlytextwidth] \begin{column}{0.44\textwidth} \begin{itemize} \item \item --- \emph{ } \item Alef \item Alef = Acme \item 30 \end{itemize} \end{column} \begin{column}{0.56\textwidth} \includegraphics[width=\textwidth]{acme-alef.png} \end{column} \end{columns} \end{frame}
Der Parameter [T, onlytextwidth] gibt an, dass die vertikale Ausrichtung entlang der Grundlinie der Linien erfolgt und der Spaltenblock eine Breite hat, die der Breite des Rahmens für den Text entspricht. LaTeX selbst komprimiert das Bild wie gewünscht. Sie können Ihr eigenes Beispiel erstellen und mit den Parametern spielen, um zu sehen, wie und was sich überschneiden wird.

Codeliste
Machen Sie sofort einen Vorbehalt, dass eine Syntaxhervorhebung in der Codeliste in der Präsentation nicht erforderlich ist. Wenn Sie sie dort brauchen, machen Sie etwas falsch. Mehr Auswahl erforderlich. Ich verwende das Standard-Listings-Paket, das Syntaxhervorhebungen kann und nicht auswählen kann. Sie können die Layouteinstellungen des Listenblocks in einem meiner Beispiele sehen:
\definecolor{acmebg}{HTML}{FFFFEF} \definecolor{acmel}{HTML}{52AAAD} \lstset{ columns=flexible, keepspaces=true, showstringspaces=false, showtabs=false, tabsize=4, frame=single, basicstyle=\fontsize{10pt}{12}\bf\ttfamily\color{black}, backgroundcolor=\color{acmebg}, commentstyle=\color{black}, keywordstyle=\color{black}, stringstyle=\color{red}, rulecolor=\color{acmel}, framerule=1pt }
Um den Hintergrund hervorzuheben, verwende ich das Paket lstlinebgrd, das "aufgegeben" ist. Sie müssen den Korrekturcode einfügen . Dieser zusätzliche Code gibt mir jedoch den Befehl \ btLstHL, mit dem ich Zeilen in der Überlagerung hervorheben kann:
\begin{frame}[fragile]{Limbo. } \begin{lstlisting}[basicstyle=\fontsize{12pt}{12}\bf\ttfamily\color{black},linebackgroundcolor={% \btLstHL<1>{1}% \btLstHL<2>{2-3}% \btLstHL<3>{5,6}% \btLstHL<4>{8,9}% \btLstHL<5>{11}% }] i, j: int; k := 1; # int b := byte 2; # byte s: string; # s1 := s[0:]; # a: array of int; a = array[10] of int; myfunc: fn(i, k: int, s: string) : (list of string, int); \end{lstlisting} \end{frame}

Bibliographie
Der Einfachheit und Vielseitigkeit halber verwende ich das biblatex-Paket. Hier ist die Schwierigkeit. Das Beamer-Paket überschreibt einige der Biblatex-Standardeinstellungen. Diese Befehle entfernen die Symbole und legen die Schriftart für die Bibliographie fest:
\setbeamertemplate{bibliography item}{\insertbiblabel} \renewcommand*{\bibfont}{\fontsize{8}{1}\selectfont}
Wir müssen uns an einen wichtigen Punkt erinnern - die Bibliographie wird in einer separaten Datei gespeichert. In den Beispielen in den Vorlagen schreibe ich im Haupttext eine Bibliographie mit dem Paket mit den Inhaltsinhalten, wodurch wiederum die gewünschte reale Datei erstellt wird. Die Zusammenstellung erfolgt in VIER Schritten. Zunächst kompiliert xelatex einfach die Datei und erstellt die unterstützenden Dateien. Anschließend kompiliert das Dienstprogramm biber die Bibliografiedatei. Anschließend müssen Sie xelatex noch zweimal ausführen. Ja, mit Präprozessoren ist dort alles kompliziert.
Das biblatex-Paket ist ebenfalls anpassbar. Aber zum ersten Mal habe ich genug von dem, was ich in den Beispielen habe.
Nachwort
Ich habe es genossen, die Präsentation und die Materialien für diesen Artikel vorzubereiten. Ich hoffe, wenn jemand wollte, sich aber nicht entscheiden konnte, LaTeX in seiner Arbeit einzusetzen - ich habe diese Barriere durchbrochen. Natürlich habe ich keine Pakete gemacht, ich habe nicht in die Tiefe gegraben, ich habe keine wichtigen Zeichenthemen erwähnt. Aber ich denke, dass dies alles kommen wird, sobald Sie das Tool verwenden. Es gibt gute praktische Artikel über Habr mit dem Tag #latex .
Ich hoffe, dass meine Vorlagen jemandem bei den kommenden Konferenzen helfen. Vielleicht wird jemand die Reste des Hilfscodes mit Hintergrundbeleuchtung, die seit Jahren im Internet liegen, in einem geeigneten Paket erstellen. Mach es!