2010-06-17 70 views
6

Pytanie jest podobne do tego: How to display a content in two-column layout in LaTeX? , ale dotyczące umieszczania dwóch tabel obok siebie.Dwie tabele obok siebie w jednej kolumnie Środowisko LaTeX

mam dwa małe stoliki wyglądające tak:

\begin{table}[t] 
\begin{tabular}{|c|l||r|r||r|r|} 
%content goes here 
\end{tabular} 
\caption{some caption} 
\end{table} 

\begin{table}[t] 
\begin{tabular}{|c|l||r|r||r|r|} 
%content goes here 
\end{tabular} 
\caption{some caption for second table} 
\end{table} 

Mam dokument jednej kolumny i tabele te są bardzo wąskie, więc chciałbym, aby wyświetlić je obok siebie (z oddzielnymi napisami) insted jeden pod drugim z dużą ilością niewykorzystanej, białej przestrzeni.

Próbowałem zrobić to z tym \multicols, ale wydaje się, że nie można w nim umieścić pływających (tabele tutaj).

Wszelkie pomysły?

EDIT
OK, zrobiłem coś takiego:

\begin{table}[h] 
\begin{minipage}[b]{80mm} 
\begin{tabular}{|c|l||r|r||r|r|} 
%//first table goes here 
\end{tabular} 
    \caption{some caption for first table} 
\end{minipage} 

\begin{minipage}[b]{80mm} 
\begin{tabular}{|c|l||r|r||r|r|} 
%//second table goes here 
\end{tabular} 
    \caption{some caption for second table} 
\end{minipage} 

\end{table} 

ale tabela jest zawsze przy użyciu tyle miejsca, ile potrzebuje, bez względu na wielkość minipage chciałbym ustawić. Na przykład, jeśli mam 80 mm na minipage, napis będzie ograniczony do tych 80 mm, ale stół będzie szerszy.

Jeśli mam dwie tabele, a jeden stół jest po prostu zbyt szeroki, nie pojawi się obok pierwszego stołu, ale pod spodem.

Czy istnieje sposób ograniczenia tabeli do określonej szerokości? Lub zmusić ich do pojawienia się obok siebie? A może jak zmienić rozmiar czcionki tylko dla jednej z tabel?

Odpowiedz

5

Użyj dwóch minipages lub dwóch tabelarycznych środowisk w tym samym środowisku tabeli (ale wtedy będziesz musiał zrobić coś z podpisami, jeśli ich potrzebujesz).

+0

Dzięki, stworzyłem dwa minipages. Ale wciąż mam pewne problemy. Zmieniłem moje pytanie. – Gacek

3

Użyj subfig package tak:

\documentclass{article} 
\usepackage[latin1]{inputenc} 
\usepackage[T1]{fontenc} 
\usepackage[bf,small,tableposition=top]{caption} 
\usepackage{subfig} 
\begin{document} 

\begin{table} 
\centering 
\subfloat[First table.]{% 
\begin{tabular}{|c|l||r|r||r|r|} 
a & b & c & d & e & f \\ 
a & b & c & d & e & f \\ 
\end{tabular}}% 
\qquad\qquad% --- set horizontal distance between tables here 
\subfloat[Second table.]{% 
\begin{tabular}{|c|l||r|r||r|r|} 
a & b & c & d & e & f \\ 
a & b & c & d & e & f \\ 
a & b & c & d & e & f \\ 
a & b & c & d & e & f \\ 
\end{tabular}} 
\end{table} 

\end{document} 

To zajmie pionowym ustawieniu stołów, kiedy mają różną liczbę wierszy jak w tym przykładzie. Zwróć też uwagę, że tabele mają nad nimi napisy, a pod nimi podpisy. Doskonały caption package może Ci w tym pomóc, jeśli chcesz.

Na koniec powinieneś rzucić okiem na booktabs package, aby uzyskać profesjonalny skład składający się z tabel. Prosi o unikanie pionowych linii, a zamiast tego używa linii poziomych. Rezultat jest zwykle znacznie lepszy, IMHO.

+0

Przyjemnie, ale jest jeden problem - muszę użyć niestandardowego stylu (z IEEE) i kiedy używam podstropów, niszczy ten niestandardowy styl i używa domyślnych dla tabel. – Gacek

+0

Czy istnieje sposób na uzyskanie napisów, które będą umieszczane nad tabelami zamiast pod nimi? – misha

9

Powód, dla którego drugi stół znajduje się poniżej pierwszej tabeli zamiast prawej obok niej, wynika z odległości między dwoma minipages. Musisz wypowiadać się tuż pod innym, w przeciwnym razie lateks potraktowałby to jak linię końcową. Zajęło mi to około tygodnia, aby dowiedzieć się o moje własne stoły.

\end{minipage} 
\begin{minipage}[b]{80mm} 

Zamiast:

\end{minipage} 

\begin{minipage}[b]{80mm} 
+0

Mam problem z tabelami przez wieki i nigdy nie mogłem ustalić, na czym polegał problem. Dziękuję Ci! – Danny

Powiązane problemy