LaTeX Abbildungen und Tabellen

Abbildungen und Tabellen sind das Rückgrat einer wissenschaftlichen Arbeit. Dieser Artikel behandelt vier Dinge: Befehle zum Einfügen von Abbildungen und Gleitumgebungen, grundlegende Tabellen, die dreizeilige Tabelle nach akademischem Standard und das Zusammenführen von Zellen.

Die Verwaltungsphilosophie von LaTeX für Abbildungen und Tabellen steht im Einklang mit seiner Nummerierung: Sie müssen nur den Inhalt und den Titel angeben; Position, Nummerierung und Verweise erfolgen automatisch.


Bilder einfügen: graphicx-Paket

Das Einfügen von Abbildungen erfordert nur zwei Befehle: Laden Sie graphicx in der Präambel und verwenden Sie \includegraphics im Hauptteil, um die Bilddatei zu platzieren.

Häufige OptionenBedeutungBeispiel
widthBreite, relative Werte zulässigwidth=0.8\textwidth (80% der Textbreite)
heightHeightheight=5cm
scaleSkalierungsfaktorscale=0.5
angleDrehwinkelangle=90

Dateinamen-EmpfehlungenErweiterung weglassen: Schreiben Sie sin statt sin.png. LaTeX sucht automatisch nach einem vom aktuellen Compiler unterstützten Format (XeLaTeX unterstützt PDF, PNG, JPG usw.), sodass Sie die Quelle beim Formatwechsel nicht ändern müssen.

Wenn Sie die Bildgröße steuern, bevorzugen Sie einen proportionalen Wert wie width=\textwidth gegenüber scale – Ersterer garantiert, dass das Bild niemals die Textbreite überschreitet, während Letzterer bei unterschiedlichen Schriftgrößeneinstellungen unerwartet überlaufen kann.


Gleitobjekte: figure-Umgebung

Bilder sollten nicht direkt im Textfluss stehen; üblich ist es, sie in einer figure-Gleitumgebung zu platzieren.

Beispiel: Standardabbildung

\documentclass{ctexart}
\usepackage{graphicx
}              % Erforderliches Paket für Abbildungen
\begin{document}
Die Sinusfunktion$y = \sin x$wird in Abbildung~\ref{fig:sin gezeigt.}.

\begin{figure
}[htbp]               % Gleitumgebung, Platzierungsparameter siehe Tabelle unten
  \centering                       % Bild innerhalb der Gleitumgebung zentrieren
  \includegraphics[width=0.6\textwidth]{sin}
  \caption{Sinuskurve
}            % Beschriftung, Nummer wird automatisch generiert
  \label{fig:sin}                  % Label, zum Referenzieren mit \ref
\end{figure}
\end{document
}

Compilation effect of floating illustrations

Die Klammern nach dem Umgebungsnamen sind "Platzierungsvorschläge", die LaTeX sagen, wo es erscheinen soll.

ParameterBedeutungPrioritätshinweise
hhier, direkt an der QuellpositionNur ein Vorschlag; LaTeX passt es selbst an, wenn das Layout es nicht unterbringen kann
toben, oberer Rand der aktuellen SeiteDie gebräuchlichste Wahl in wissenschaftlichen Arbeiten
bunten, unterer Rand der aktuellen SeiteOft mit t kombiniert
pGleitseite, eine dedizierte GleitseiteGruppiert automatisch viele Abbildungen/Tabellen auf einer Anhangseite
! (e.g., [!h])Lockert die SatzbeschränkungenZusammen verwenden, wenn eine starke Anforderung gestellt wird

„Warum wurde meine Abbildung woandershin verschoben?“ – Das ist kein Fehler; das ist der Float-Mechanismus am Werk: LaTeX wählt für jede Abbildung eine Position, die keine großen Lücken erzeugt. Wenn Sie sie wirklich festnageln müssen, verwenden Sie den [H]-Parameter aus dem float-Paket (großes H, bedeutet „hier“ und nicht verschieben).


Grundlegende Tabellen: tabular-Umgebung

Das Syntaxgerüst einer Tabelle ist dasselbe wie das einer Matrix: & trennt Spalten, \\ beginnt eine neue Zeile, und das Spaltenformat wird in den Umgebungsparametern deklariert.

Beispiel: Tabelle mit vollständigen Rahmen

\documentclass{ctexart}
\begin{document}
\begin{tabular}{|l|c|r|
}           % Spaltenformat: linksbündig, zentriert, rechtsbündig, getrennt durch vertikale Linien
\hline                             % Obere horizontale Linie
Name&Alter&Punktzahl\\              % & trennt Spalten, \\ beginnt eine neue Zeile
\hline
Zhang San& 20 & 92 \\
Li Si& 21 & 88 \\
\hline                             % Untere horizontale Linie
\end{tabular}
\end{document
}

Compilation Effect of Basic Tables

Symbole für das SpaltenformatBedeutung
l / c / rSpalte linksbündig / zentriert / rechtsbündig ausrichten
|Eine vertikale Linie an dieser Position zeichnen
p{2cm}Feste Spaltenbreite mit automatischem Zeilenumbruch innerhalb von Zellen

Akademischer Standard: booktabs Dreilinientabelle

Öffnen Sie eine beliebige professionelle Publikation, und die Tabellen weisen "drei horizontale Linien und null vertikale Linien" auf—dies wird als Dreilinientabelle bezeichnet, die vom booktabs-Paket bereitgestellt wird.

Beispiel: Dreilinientabelle

\documentclass{ctexart}
\usepackage{booktabs
}              % Spezielles Paket für Dreilinientabellen
\begin{document}
\begin{tabular}{lccc
}              % Dreilinientabellen verwenden keine vertikalen Linien
\toprule                           % Oberste Linie, am dicksten
Algorithmus&Genauigkeit&Trefferquote& F1 \\
\midrule                           % Mittlere Linie, dünner
Modell A& 0.91 & 0.88 & 0.89 \\
Modell B& 0.93 & 0.90 & 0.91 \\
\bottomrule                        % Untere Linie, dickste
\end{tabular}
\end{document
}

booktabs Three-Line Table Compilation Effect

Formatrichtlinien für Zeitschriften und Abschlussarbeiten verlangen fast ausnahmslos dreizeilige Tabellen. Die Verwendung von | und \hline zum Erstellen von Tabellen mit vollständigem Rahmen ist für alltägliche Hausaufgaben in Ordnung, aber stellen Sie vor der Einreichung unbedingt auf booktabs um – vertikale Linien sind in der professionellen Typografie ein Zeichen von "Amateur".


Zellen zusammenführen: multirow und multicolumn

Komplexe Kopfzeilen erfordern das Zusammenführen: Verwenden Sie \multicolumn für horizontales Zusammenführen (in LaTeX integriert) und \multirow für vertikales Zusammenführen (erfordert das Laden des multirow-Pakets).

Beispiel: Zweistufige Kopfzeile

\documentclass{ctexart}
\usepackage{booktabs}
\usepackage{multirow
}              % Zellen vertikal zusammenführen
\begin{document}
\begin{tabular}{lcc}
\toprule
\multirow{2}{*}{Datensatz} & \multicolumn{2}{c}{Genauigkeit} \\
\cmidrule(lr){2-3
}                 % Zeichnet eine partielle horizontale Linie nur über die Spalten 2-3
 &Trainingsset&Testset\\
\midrule
MNIST & 0.99 & 0.98 \\
CIFAR-10 & 0.95 & 0.91 \\
\bottomrule
\end{tabular}
\end{document
}

Merged Cell Table Rendering Effect

BefehlSyntaxBeschreibung
\multirow\multirow{num rows}{*}{content}Überspannt Zeilen vertikal; die entsprechenden Positionen in den überspannten Zeilen leer lassen
\multicolumn\multicolumn{num cols}{column format}{content}Überspannt Spalten horizontal; du musst das Spaltenformat für diese Zelle neu schreiben
\cmidrule\cmidrule(lr){2-3}Teilweise horizontale Linie; (lr) hinterlässt an beiden Enden eine kleine Lücke für ein eleganteres Aussehen

Tabellenbeschriftungen und Floats im Allgemeinen

Tabellen befinden sich ebenfalls in einem Float; die Umgebung ist table, und alles andere funktioniert genauso wie figure.

Beispiel: Nummerierte Tabelle

\begin{table}[htbp]
  \centering                        % Die gesamte Tabelle zentrieren
  \caption{Vergleich der experimentellen Ergebnisse}             % Tabellenbeschriftung (üblicherweise über der Tabelle platziert)
  \label{tab:result}
  \begin{tabular}{lcc}
    \toprule
Datensatz&Trainingsdatensatz&Testdatensatz\\
    \midrule
    MNIST & 0.99 & 0.98 \\
    \bottomrule
  \end{tabular}
\end{table
}

Zwei ungeschriebene Konventionen: Platzieren Sie die Tabellenbeschriftungüber der Tabelleund die Abbildungsbeschriftungunter der Abbildung; verwenden Sie tab: und fig: als Labelpräfixe für Tabellen bzw. Abbildungen, damit Sie den Typ beim Referenzieren auf einen Blick erkennen.

Wenn eine Tabelle breiter als der Textbereich ist, gibt es zwei schnelle Lösungen: Packen Sie das gesamte tabular in \resizebox{\textwidth}{!}{...} für proportionale Skalierung; oder wechseln Sie zum Paket tabularx, um die Spaltenbreiten automatisch zu verteilen. Ersteres ist schnell, Letzteres ist sauberer.


Zusammenfassung

VoraussetzungBefehl / Umgebung
Abbildungen einfügen\includegraphics[width=0.8\textwidth]{filename}
Gleitobjekte für Abbildungen/Tabellenfigure / table + [htbp] + \centering + \caption + \label
Tabellengrundgerüsttabular, & trennt Spalten, \\ beginnt eine neue Zeile
Dreilinientabellebooktabs:\toprule \midrule \bottomrule
Zellen zusammenführen\multirow, \multicolumn
Teilweise horizontale Linie\cmidrule(lr){2-3}
Andere Erweiterungen