
Ich habe eine Tabelle und möchte darunter zwei Legenden einfügen. Dies sind Miniseiten (ich habe keine andere Möglichkeit gefunden, dies zu erreichen), aber es fällt mir schwer, sie in der Mitte der Seite und auf derselben Höhe auszurichten. vspace und hspace verschieben die betreffende Miniseite nicht nach oben oder unten (oder nach links oder rechts), sondern lassen Dinge unvorhersehbar auf der Seite herumspringen. Wie kann ich sie richtig ausrichten?
\documentclass{article}
\usepackage[table]{xcolor}
\def\hbar#1#2{%%
{\color{#2}\rule{4mm}{#1mm}}}
\def\legbox#1#2{%%
{\color{#1}\rule{4mm}{4mm}} \hspace{0.4mm}#2 \hspace{3mm}\\}
\begin{document}
\begin{figure}[h!]
\vspace*{-4.0cm}
\hspace*{-4.2cm}
\centering
{\setlength{\extrarowheight}{50pt}%
\begin{tabular}{lllccl}
\arrayrulecolor{gray}\hline
\hline
Item Description Name & Most Recent Update & State District & Governmental Body & Bars & More bars \\
\hline
Item 1 & Jan 1, 2010 & District 1 & GB 3 &
\hbar{14}{green} \hbar{20}{green} \hbar{10}{green} \hbar{15}{red}
\hbar{19}{red} \hbar{6}{red} \hbar{10}{red} &
\hbar{15}{red} \hbar{19}{red} \hbar{6}{red} \\
Item 2 & Jan 1, 2010 & District 1 & GB 3 &
\hbar{14}{green} \hbar{20}{green} \hbar{10}{green} \hbar{15}{red}
\hbar{19}{red} \hbar{6}{red} \hbar{10}{red} &
\hbar{15}{red} \hbar{19}{red} \hbar{6}{red} \\
Item 3 & Jan 1, 2010 & District 1 & GB 3 &
\hbar{14}{green} \hbar{20}{green} \hbar{10}{green} \hbar{15}{red}
\hbar{19}{red} \hbar{6}{red} \hbar{10}{red} &
\hbar{15}{red} \hbar{19}{red} \hbar{6}{red} \\
Item 4 & Jan 1, 2010 & District 1 & GB 3 &
\hbar{14}{green} \hbar{20}{green} \hbar{10}{green} \hbar{15}{red}
\hbar{19}{red} \hbar{6}{red} \hbar{10}{red} &
\hbar{15}{red} \hbar{19}{red} \hbar{6}{red} \\
Item 5 & Jan 1, 2010 & District 1 & GB 3 &
\hbar{14}{green} \hbar{20}{green} \hbar{10}{green} \hbar{15}{red}
\hbar{19}{red} \hbar{6}{red} \hbar{10}{red} &
\hbar{15}{red} \hbar{19}{red} \hbar{6}{red} \\
\end{tabular}
}
\caption{Here goes a table caption to describe the table}
\hspace{-10cm}
\begin{minipage}[t]{5cm}
\vspace{1cm}
\textbf{Legend 1} \\
\legbox{black}{Long Label 1}
\legbox{blue}{Label 2}
\legbox{black}{Long Label 3}
\legbox{blue}{Label 4}
\legbox{black}{Long Label 5}
\legbox{blue}{Label 6}
\legbox{black}{Long Label 7}
\end{minipage}
\begin{minipage}{6cm}
\hspace{8cm}
\vspace{-4.7cm}
\\\textbf{Legend 2} \\
\legbox{blue}{Another label}
\legbox{black}{Mini}
\legbox{green}{A pretty long label}
\legbox{green}{A label}
\end{minipage}
\end{figure}
\end{document}
So sieht es aus:
Und so soll es für mich aussehen (Linie nur zur Veranschaulichung):
Antwort1
Vielleicht hoffen Sie darauf:
\documentclass{article}
\usepackage[table]{xcolor}
\def\hbar#1#2{%%
{\color{#2}\rule{4mm}{#1mm}}}
\def\legbox#1#2{%%
{\color{#1}\rule{4mm}{4mm}} \hspace{0.4mm}#2 \hspace{3mm}\\}
\begin{document}
\begin{figure}[h!]
\centering
\makebox[0pt]
{%%
\setlength{\extrarowheight}{50pt}%
\begin{tabular}{lllccl}
\arrayrulecolor{gray}\hline
\hline
Item Description Name & Most Recent Update & State District & Governmental Body & Bars & More bars \\
\hline
Item 1 & Jan 1, 2010 & District 1 & GB 3 &
\hbar{14}{green} \hbar{20}{green} \hbar{10}{green} \hbar{15}{red}
\hbar{19}{red} \hbar{6}{red} \hbar{10}{red} &
\hbar{15}{red} \hbar{19}{red} \hbar{6}{red} \\
Item 2 & Jan 1, 2010 & District 1 & GB 3 &
\hbar{14}{green} \hbar{20}{green} \hbar{10}{green} \hbar{15}{red}
\hbar{19}{red} \hbar{6}{red} \hbar{10}{red} &
\hbar{15}{red} \hbar{19}{red} \hbar{6}{red} \\
Item 3 & Jan 1, 2010 & District 1 & GB 3 &
\hbar{14}{green} \hbar{20}{green} \hbar{10}{green} \hbar{15}{red}
\hbar{19}{red} \hbar{6}{red} \hbar{10}{red} &
\hbar{15}{red} \hbar{19}{red} \hbar{6}{red} \\
Item 4 & Jan 1, 2010 & District 1 & GB 3 &
\hbar{14}{green} \hbar{20}{green} \hbar{10}{green} \hbar{15}{red}
\hbar{19}{red} \hbar{6}{red} \hbar{10}{red} &
\hbar{15}{red} \hbar{19}{red} \hbar{6}{red} \\
Item 5 & Jan 1, 2010 & District 1 & GB 3 &
\hbar{14}{green} \hbar{20}{green} \hbar{10}{green} \hbar{15}{red}
\hbar{19}{red} \hbar{6}{red} \hbar{10}{red} &
\hbar{15}{red} \hbar{19}{red} \hbar{6}{red} \\
\end{tabular}
}
\caption{Here goes a table caption to describe the table}
\vspace{2ex}\par
\begin{minipage}[t]{5cm}
{\centering\textbf{Legend 1}}%%
\legbox{black}{Long Label 1}
\legbox{blue}{Label 2}
\legbox{black}{Long Label 3}
\legbox{blue}{Label 4}
\legbox{black}{Long Label 5}
\legbox{blue}{Label 6}
\legbox{black}{Long Label 7}
\end{minipage}%%
\hspace{\fill}
\begin{minipage}[t]{6cm}
{\centering\textbf{Legend 2}}%%
\legbox{blue}{Another label}
\legbox{black}{Mini}
\legbox{green}{A pretty long label}
\legbox{green}{A label}
\end{minipage}%%
\end{figure}
\end{document}
Ich kann die meisten Ihrer \hspace
und \vspace
Befehle eliminieren.
Ihre Tabelle ist größer als es die Geometrie der Seite zulässt. Sie können sie auf der Seite zentrieren, indem Sie ihren Körper in eine Breite von setzen \makebox
. 0pt
Im Wesentlichen ersetze ich Ihren Code:
\begin{figure}[h!]
\vspace*{-4.0cm}
\hspace*{-4.2cm}
\centering
{\setlength{\extrarowheight}{50pt}%
mit folgendem Code:
\begin{figure}[h!]
\centering
\makebox[0pt]
{%%
\setlength{\extrarowheight}{50pt}%
Sie verwenden außerdem „ \hspace
und“ \vspace
häufig in Ihren Legenden auf eine Weise, die unnötig erscheint. Hier sind einige Anpassungen, die ich vorgenommen habe:
- Nachdem
\caption
ich einen vertikalen Leerraum hinzugefügt habe, um den Abstand zwischen der Überschrift und den Legenden besser kontrollieren zu können, anstatt den vertikalen Leerraum innerhalb desminipage
„s“ hinzuzufügen. - Bei den s für die Legende bin ich mir nicht ganz sicher, was Sie mit Ihren und Befehlen
minipage
erreichen möchten . Es scheint, dass Sie diese vollständig vermeiden können, indem Sie zwischen dem Legendentitel und dem Textkörper einen Absatzumbruch einfügen und den Titel zentrieren.\hspace
\vspace
Antwort2
Die Tabelle passt in ihrer jetzigen Form nicht auf eine sinnvolle Seitenbreite, deshalb habe ich sie verkleinert.
Verwenden Sie für die Legende einfach ein paar tabular
.
Ich habe auch Ihre \def
„into“ \newcommand
und \hbar
„into“ geändert \HBar
, damit sie nicht mit einem bereits vorhandenen Befehl in Konflikt geraten.sehrvorsichtig mit \def
.
\documentclass{article}
\usepackage{booktabs,makecell}
\usepackage[table]{xcolor}
\newcommand\HBar[2]{%%
{\color{#2}\rule{3mm}{#1mm}}%
}
\newcommand\legbox[2]{%%
{\color{#1}\rule{4mm}{4mm}}\hspace{0.4mm}#2\hspace{3mm}%
}
\begin{document}
\begin{figure}[htp]
\centering
\begingroup\small
\addtolength{\tabcolsep}{-2.8pt}
\begin{tabular}{@{}lllccc@{}}
\toprule
\makecell{Item \\ Description \\ Name} &
\makecell{Most Recent \\ Update} &
\makecell{State \\ District} &
\makecell{Governmental \\ Body} &
Bars &
More bars \\
\midrule
\addlinespace
Item 1 & Jan 1, 2010 & District 1 & GB 3 &
\HBar{14}{green} \HBar{20}{green} \HBar{10}{green} \HBar{15}{red}
\HBar{19}{red} \HBar{6}{red} \HBar{10}{red} &
\HBar{15}{red} \HBar{19}{red} \HBar{6}{red} \\
\addlinespace
Item 2 & Jan 1, 2010 & District 1 & GB 3 &
\HBar{14}{green} \HBar{20}{green} \HBar{10}{green} \HBar{15}{red}
\HBar{19}{red} \HBar{6}{red} \HBar{10}{red} &
\HBar{15}{red} \HBar{19}{red} \HBar{6}{red} \\
\addlinespace
Item 3 & Jan 1, 2010 & District 1 & GB 3 &
\HBar{14}{green} \HBar{20}{green} \HBar{10}{green} \HBar{15}{red}
\HBar{19}{red} \HBar{6}{red} \HBar{10}{red} &
\HBar{15}{red} \HBar{19}{red} \HBar{6}{red} \\
\addlinespace
Item 4 & Jan 1, 2010 & District 1 & GB 3 &
\HBar{14}{green} \HBar{20}{green} \HBar{10}{green} \HBar{15}{red}
\HBar{19}{red} \HBar{6}{red} \HBar{10}{red} &
\HBar{15}{red} \HBar{19}{red} \HBar{6}{red} \\
\addlinespace
Item 5 & Jan 1, 2010 & District 1 & GB 3 &
\HBar{14}{green} \HBar{20}{green} \HBar{10}{green} \HBar{15}{red}
\HBar{19}{red} \HBar{6}{red} \HBar{10}{red} &
\HBar{15}{red} \HBar{19}{red} \HBar{6}{red} \\
\bottomrule
\end{tabular}
\endgroup
\caption{Here goes a table caption to describe the table}
\bigskip
\begin{tabular}[t]{@{}l@{}}
\multicolumn{1}{c}{\textbf{Legend 1}} \\
\legbox{black}{Long Label 1} \\
\legbox{blue}{Label 2} \\
\legbox{black}{Long Label 3} \\
\legbox{blue}{Label 4} \\
\legbox{black}{Long Label 5} \\
\legbox{blue}{Label 6} \\
\legbox{black}{Long Label 7} \\
\end{tabular}%
\hspace{1cm}
\begin{tabular}[t]{@{}l@{}}
\multicolumn{1}{c}{\textbf{Legend 2}} \\
\legbox{blue}{Another label} \\
\legbox{black}{Mini} \\
\legbox{green}{A pretty long label} \\
\legbox{green}{A label} \\
\end{tabular}
\end{figure}
\end{document}