Skład LaTeX-a część 2 (tabele)

LaTeX oferuje szereg narzędzi do tworzenia i dostosowywania tabel. W tej serii będziemy używać środowiska tabelarycznego i tabularx do tworzenia i dostosowywania tabel.

Podstawowy stół

Aby utworzyć tabelę, po prostu określ środowisko Begin{tabular}{columns}

begin{tabular}{c|c}
    Release &Codename \ hline
    Fedora Core 1 &Yarrow \ 
    Fedora Core 2 &Tettnang \ 
    Fedora Core 3 &Heidelberg \ 
    Fedora Core 4 &Stentz \ 
end{tabular}

W powyższym przykładzie „{c|c}” w nawiasach klamrowych odnosi się do położenia tekstu w kolumnie. Poniższa tabela podsumowuje argument pozycyjny wraz z opisem.

Pozycja Argument
C Umieść tekst na środku
ty Pozycja tekstu wyrównanego do lewej
R Umieść wyjustowany tekst po prawej stronie
p{szerokość} Wyrównaj tekst do góry komórki
m{ancho} Wyrównuje tekst do środka komórki.
b{szerokość} Wyrównaj tekst do dołu komórki

Zarówno m{width}, jak i b{width} wymagają określenia pakietu tablicy w preambule.

Korzystając z powyższego przykładu, omówmy ważne punkty i opisz więcej opcji, które zobaczysz w tej serii

Opcja Opis
& Definiuje każdą komórkę, ampersand jest używany tylko w drugiej kolumnie
\ To kończy rząd i rozpoczyna nowy rząd
| Określa pionową linię w tabeli (opcjonalnie)
glina Określa linię poziomą (opcjonalnie)
*{numer}{formularz} Jest to przydatne, gdy masz wiele kolumn i jest skutecznym sposobem na ograniczenie powtórzeń
|| Określa podwójną linię pionową

Dostosowywanie stołu

Teraz, gdy znamy już niektóre dostępne opcje, utwórzmy tabelę, korzystając z opcji opisanych w poprzedniej sekcji.

begin{tabular}{*{3}{|l|}}
hline
	textbf{Version} &textbf{Code name} &textbf{Year released} \
hline
	Fedora 6 &Zod &2006 \ hline
	Fedora 7 &Moonshine &2007 \ hline
	Fedora 8 &Werewolf &2007 \
hline
end{tabular}

Zarządzanie długimi tekstami

Jeśli w LaTeX-ie kolumna zawiera dużo tekstu, nie będzie on dobrze sformatowany i nie będzie wyglądał dobrze.

Poniższy przykład pokazuje długość formatu tekstu. W preambule użyjemy „tekstu ukrytego”, abyśmy mogli stworzyć przykładowy tekst.

begin{tabular}{|l|l|}hline
	Summary &Description \ hline
	Test &blindtext \
end{tabular}

Jak widać tekst przekracza szerokość strony; Istnieje jednak kilka możliwości pokonania tego wyzwania.

  • Określ szerokość kolumny, na przykład {5cm}
  • Użyj środowiska tabularx, wymaga to pakietu tabularx w preambule.

Zarządzaj długim tekstem za pomocą szerokości kolumny

Określając szerokość kolumny, tekst będzie zawijany do szerokości pokazanej w poniższym przykładzie.

begin{tabular}{|l|m{14cm}|} hline
	Summary &Description \ hline
	Test &blindtext \ hline
end{tabular}vspace{3mm}

Zarządzaj długim tekstem za pomocą tabularx

Zanim będziemy mogli skorzystać z tabularx, musimy dodać go w preambule. Tabularx bierze następujący przykład

**begin{tabularx}{width}{columns}**

begin{tabularx}{textwidth}{|l|X|} hline
Summary & Tabularx Description\ hline
Text &blindtext \ hline
end{tabularx}

Zwróć uwagę, że kolumna, w której ma się zmieścić długi tekst, ma określoną dużą literę „X”.

Wiele wierszy i wiele kolumn

Są chwile, kiedy będziesz musiał scalić wiersze i/lub kolumny. W tej sekcji opisano, jak to osiągnąć. Aby użyć wielu wierszy i wielu kolumn, dodaj wiele wierszy do preambuły.

Multifila

Multirow przyjmuje następujący argument multirow{number_of_rows}{width}{text}, spójrzmy na następujący przykład.

begin{tabular}{|l|l|}hline
	Release &Codename \ hline
	Fedora Core 4 &Stentz \ hline
	multirow{2}{*}{MultiRow} &Fedora 8 \ 
	&Werewolf \ hline
end{tabular}

W powyższym przykładzie określono dwa wiersze, „*” mówi LaTeXowi, aby automatycznie zarządzał rozmiarem komórki.

wielokolumnowy

Argument wielokolumnowy to wielokolumna{number_of_columns}{położenie_komórki}{tekst}, poniższy przykład ilustruje wielokolumny.

begin{tabular}{|l|l|l|}hline
	Release &Codename &Date \ hline
	Fedora Core 4 &Stentz &2005 \ hline
	multicolumn{3}{|c|}{Mulit-Column} \ hline
end{tabular}

Praca z kolorami

Kolory można przypisać do tekstu, pojedynczej komórki lub całego wiersza. Dodatkowo możemy ustawić alternatywne kolory dla każdego rzędu.

Zanim będziemy mogli dodać kolor do naszych tabel, musimy uwzględnić w preambule usepackage[table]{xcolor}. Możemy również zdefiniować kolory, korzystając z poniższego odniesienia do kolorówkolor lateksulub dodanie wykrzyknika po kolorze poprzedzonym cieniem od 0 do 100. Na przykład szary!30

definecolor{darkblue}{rgb}{0.0, 0.0, 0.55}
definecolor{darkgray}{rgb}{0.66, 0.66, 0.66}

Poniższy przykład zademonstrował to na tabeli z naprzemiennymi kolorami, rowcolors przyjmują następujące opcje rowcolors{row_start_color}{even_row_color}{odd_row_color}.

rowcolors{2}{darkgray}{gray!20}
begin{tabular}{c|c}
	Release &Codename \ hline
	Fedora  Core 1 &Yarrow \
	Fedora Core 2 &Tettnang \
	Fedora Core 3 &Heidelberg \
	Fedora Core 4 &Stentz \
end{tabular}

Oprócz powyższego przykładu można użyć rowcolor do określenia koloru każdego wiersza. Ta metoda działa najlepiej, gdy istnieje wiele wierszy. Poniższe przykłady pokazują wpływ użycia kolorów wierszy z wieloma wierszami i sposoby naprawienia tego problemu.

Jak widać, w pierwszym wierszu widocznych jest wiele wierszy, aby to naprawić, musimy wykonać następujące czynności.

begin{tabular}{|l|l|}hline
	rowcolor{darkblue}textsc{color{white}Release}  &textsc{color{white}Codename} \ hline
	rowcolor{gray!10}Fedora Core 4 &Stentz \ hline
	rowcolor{gray!40}&Fedora 8 \ 
	rowcolor{gray!40}multirow{-2}{*}{Multi-Row} &Werewolf \ hline
end{tabular}

Przyjrzyjmy się zmianom, które wprowadzono, aby rozwiązać problem wielu wierszy z alternatywnymi kolorami.

  • Pierwszy rząd rozpoczął się nad rzędem wielokrotnym.
  • Zmieniono liczbę wierszy z 2 na -2, co oznacza czytanie od góry
  • rowcolor został określony dla każdego wiersza, co ważniejsze, wiele wierszy musi mieć ten sam kolor, aby można było uzyskać pożądane wyniki.

Ostatnia uwaga dotycząca koloru, aby zmienić kolor kolumny, należy utworzyć nowy typ kolumny i zdefiniować kolor. Poniższy przykład ilustruje sposób definiowania nowego koloru kolumny.

newcolumntype{g}{>{columncolor{darkblue}}l} 

Rozbijmy to:

  • newcolumntype{g}: definiuje literę g jako nową kolumnę
  • {>{columncolor{darkblue}}l}: tutaj wybieramy pożądany kolor, a l nakazuje wyjustowanie kolumny, można to zastąpić kor
begin{tabular}{g|l} 
	textsc{Release}  &textsc{Codename} \ hline
	Fedora Core 4 &Stentz \ 
	&Fedora 8 \ 
	multirow{-2}{*}{Multi-Row} &Werewolf \ 
end{tabular}

Stół krajobrazowy

Może się zdarzyć, że Twój stół będzie miał wiele kolumn i nie będzie elegancko komponował się z portretem. Dzięki obrotowemu pakietowi w preambule będziesz mógł stworzyć stolik boczny. Poniższy przykład to demonstruje.

W przypadku tabeli poziomej użyjemy środowiska bocznego stabilnego i dodamy do niego środowisko tabelaryczne, określimy także dodatkowe opcje.

  • centrowanie, aby umieścić tabelę na środku strony
  • caption{}, aby nadać nazwę naszej tabeli
  • label{} pozwala nam odwoływać się do tabeli w naszym dokumencie
begin{sidewaystable}
centering
caption{Sideways Table}
label{sidetable}
begin{tabular}{ll}
	rowcolor{darkblue}textsc{color{white}Release}  &textsc{color{white}Codename} \ 
	rowcolor{gray!10}Fedora Core 4 &Stentz \ 
	rowcolor{gray!40} &Fedora 8 \ 
	rowcolor{gray!40}multirow{-2}{*}{Multi-Row} &Werewolf \ 
end{tabular}vspace{3mm}
end{sidewaystable}

Zestawienia w tabelach

Aby dołączyć listę do tabeli, możesz użyć tabularx i dołączyć listę do kolumny, w której określono X. Inną opcją będzie użycie tabeli, ale musisz określić szerokość kolumny.

Lista tabelaryczna

begin{tabularx}{textwidth}{|l|X|} hline
	Fedora Version &Editions \ hline
	Fedora 32 &begin{itemize}[noitemsep]
		item CoreOS
		item Silverblue
		item IoT
	end{itemize} \ hline
end{tabularx}vspace{3mm}

Lista tabelaryczna

begin{tabular}{|l|m{6cm}|}hline
		Fedora Version &Editions \ hline
	Fedora 32 &begin{itemize}[noitemsep]
		item CoreOS
		item Silverblue
		item IoT
	end{itemize} \ hline
end{tabular}

Wniosek

LaTeX oferuje wiele sposobów dostosowywania tabeli za pomocą tabelarycznych i tabularx. Możesz także dodać tabelaryczne i tabularx do środowiska tabeli (begintable), aby dodać nazwę tabeli i umieścić tabelę.

Pakiety stosowane w tej serii to:

usepackage{fullpage}
usepackage{blindtext}  % add demo text
usepackage{array} % used for column positions
usepackage{tabularx} % adds tabularx which is used for text wrapping
usepackage{multirow} % multi-row and multi-colour support
usepackage[table]{xcolor} % add colour to the columns 
usepackage{rotating} % for landscape/sideways tables

Dodatkowa lektura

To była lekcja średniozaawansowana na stołach. Aby uzyskać bardziej zaawansowane informacje na temat tabel i ogólnie języka LaTex, możesz przejść doWikiLaTeX.

Related Posts