Pomoc s tabulkou booktabs

Jsem pro Latex relativně novým uživatelem a je to poprvé, co se pokouším vytvořit tabulku pro svoji diplomovou práci. chtěl bych, aby tabulka vypadala takto:

zde zadejte popis obrázku

Po nějakém průzkumu na internetu jsem přišel s následující kód (ignorujte rozdíly v záhlaví sloupců mezi latexovým kódem a slovním dokumentem)

\begin{table}[htbp] \caption{Minimum Requirements for Automatic Readmission into the Commerce Faculty} \centering \begin{tabular}{lrrrr} \toprule \multicolumn{2}{c}{{BCom} & \multicolumn{2}{c}{B.Bus.Sci} \\ \cmidrule{2-3} \cmidrule{4-5} & Number of courses required to pass & Cumulative Total of Courses && Number of courses & Cumulative Total of Courses \midrule First year & 4 & 8 & 4 & 18 \\ \bottomrule \end{tabular} \label{table:mr} \end{table} 

nefunguje vůbec!

Komentáře

  • Bez znalosti specifik bookstable zde máte překlep: {{BCom} a každý řádek musí končit \\ (chybí ve vašem “ počtu kurzů … “ řádek). A celkový počet sloupců v více sloupců by se mělo rovnat vašemu celkovému počtu sloupců tabulky, takže stačí na začátek řádku umístit & a vytvořit první prázdný sloupec.

Odpověď

Lepší verze:

\documentclass{article} \usepackage{booktabs} \usepackage[margin=1in]{geometry} \usepackage{array} \newcolumntype{L}[1]{>{\raggedright\arraybackslash}p{#1}} \begin{document} \begin{table}[htbp] \caption{Minimum Requirements for Automatic Readmission into the Commerce Faculty} \centering \begin{tabular}{@{}p{0.12\textwidth}*{4}{L{\dimexpr0.22\textwidth-2\tabcolsep\relax}}@{}} \toprule & \multicolumn{2}{c}{BCom} & \multicolumn{2}{c}{B.Bus.Sci} \\ \cmidrule(r{4pt}){2-3} \cmidrule(l){4-5} & Number of courses required to pass & Cumulative Total of Courses & Number of courses & Cumulative Total of Courses\\ \midrule First year & 4 & 8 & 4 & 18 \\ \bottomrule \end{tabular} \label{table:mr} \end{table} \end{document} 

zde zadejte popis obrázku

Proč váš kód nebyl zkompilován?

  1. Na začátku

    iv id =“ 8906241257 „vám chyběl & >

Provedení první položky pro vstup do prvního sloupce.

  • Máte && v řádek

    Number of courses required to pass & Cumulative Total of Courses && Number of courses & Cumulative Total of Courses 

    Mělo by to být & a měli byste umístit & na začátku řádku. A na konci tohoto řádku jste minul \\ těsně před \cmidrule.

  • Nyní úpravy

    Po opravě výše uvedeného jsem zavedl nový typ sloupce s přidána pomoc array balíčku .:

    \usepackage{array} \newcolumntype{L}[1]{>{\raggedright\arraybackslash}p{#1}} 

    \raggedright je přidána vyhnout se ošklivým efektům ospravedlnění, protože sloupce mohou být úzké a slova mohou mít různou délku. Toto se stará také o špatná políčka.

    Použil jsem tento L sloupec se šířkou

    \dimexpr0.22\textwidth-2\tabcolsep\relax 

    *{4}{L{\dimexpr0.22\textwidth-2\tabcolsep\relax}} 

    místo opakování.

    Jako vedlejší poznámku lze uvést \cmidrule lze zkrátit z l eft nebo r ight o

    \cmidrule(r{4pt}){2-3} 

    Zde {4pt} je částka, o kterou se zkrátíme. Může být ponecháno jako \cmidrule(r){4-5}.

    Komentáře

    • Moc děkuji. Funguje perfektně a děkuji za důkladné vysvětlení. Jen další rychlá otázka – zarovnání záhlaví tabulky vypadá trochu hloupě – můj obrázek . Jaké jsou možnosti, aby vypadal estetičtěji? Bylo by možné upravit nadpis na jeden řádek?
    • @Chris jsem upravil. Změny jsou v okraji a šířce sloupců. To je nejlepší možné s tak dlouhými záhlavími. : 0
    • @Chris Jako vedlejší poznámku lze říci, že poděkování se nejlépe sděluje upvotingem (všechny dobré odpovědi) a přijetím (užitečnější odpověď). Možná budete chtít odkázat na Jak přijímáte odpověď? v případě pochybností 🙂
    • ahoj @Harish Kumar, hlasoval jsem vaše odpověď a ještě jedna :). Jen další rychlá otázka – jak vyplním prázdnou buňku v tabulce pomocí “ – „. Zkusil jsem “ \ – „, ale buňka zůstane prázdná.
    • @Chris Díky. :). Měli byste dát pouze -, (no \) nebo lepší $-$ nebo ještě lepší --- . Doufám, že to pomůže.

    Odpověď

    Kromě použití booktabs (abyste získali dobře vypadající, tj. dobře rozmístěné vodorovné čáry), doporučil bych vám také použít balíček tabularx ke zjednodušení práce se získáváním čtyř stejné šířky sloupce.

    zde zadejte popis obrázku

    \documentclass{article} \usepackage{booktabs,tabularx} \usepackage[margin=1in]{geometry} % set margins to meet your document"s needs \newcolumntype{Y}{>{\raggedright\arraybackslash}X} % use ragged-right, not fully-justified, look in narrow columns \begin{document} \begin{table}[t] \caption{Minimum Requirements for Automatic Readmission into the Commerce Faculty} \label{table:mr} %\centering % not needed, since table is as wide as text block \begin{tabularx}{\textwidth}{@{}lYYYY@{}} \toprule &\multicolumn{2}{c}{\bfseries BCom} &\multicolumn{2}{c}{\bfseries B.Bus Sci} \\ \cmidrule(lr){2-3} \cmidrule(l){4-5} &Number of courses required to pass &Cumulative Total of Courses & Number of courses & Cumulative Total of Courses\\ \midrule First year & 4 & 8 & 4 & 18 \\ \bottomrule \end{tabularx} \end{table} \end{document} 

    Dodatek : Mimochodem, vzhled tabulky, kterou ve svém příspěvku zobrazujete, nelze dosáhnout použitím příkazů balíčku booktabs. Pokud opravdu potřebujete všechny ty svislé a vodorovné čáry, neměli byste používat příkaz \toprule, \bottomrule, \midrule a \cmidrule. Místo toho stačí použít základní instrukci LaTeX \hline. (Samozřejmě můžete použijte balíček tabularx ke zjednodušení vytváření sloupců stejné šířky pro sloupce 2 až 5 tabulky.)

    Tyto úpravy povedou k níže uvedená tabulka.Doufám, že budete souhlasit s tím, že „vzhled knih“ – žádné svislé čáry, celkově méně vodorovných čar a dobře rozmístěná pravidla – je mnohem lepší než to, co by se dalo nazvat „tabulkovým vzhledem“.

    sem zadejte popis obrázku

    \documentclass{article} \usepackage{tabularx} \usepackage[margin=1in]{geometry} % choose margin as needed \newcolumntype{Y}{>{\raggedright\arraybackslash}X} \begin{document} \begin{table}[h!] \caption{Minimum Requirements for Automatic Readmission into the Commerce Faculty} \label{table:mr} \begin{tabularx}{\textwidth}{|l|Y|Y|Y|Y|} \hline &\multicolumn{2}{c|}{\bfseries B. Com} &\multicolumn{2}{c|}{\bfseries B. Bus. Sci} \\ \hline & Number of courses required to pass & Cumulative Total of Courses & Number of courses required to pass & Cumulative Total of Courses \\ \hline First Year & 4 & 8 & 4 & 18 \\ \hline Second Year & 10 & 16 & 11 & 16 \\ \hline Third Year & 18 & 24 & 20 & 25 \\ \hline \end{tabularx} \end{table} \end{document} 

    Komentáře

    • Ahoj – ano, souhlasím, že vzhled knih je mnohem lepší. Obrázek, který jsem měl ve svém OP, pochází z aplikace Word a byl jsem ve spěchu, abych mohl psát, protože jsem musel někam odejít. Svislé čáry tam byly, protože se standardně dodávají s nástrojem Word “ tabulka „.

    Odpověď

    Podívejte se na následující:

    \documentclass{scrartcl} \usepackage{booktabs} \begin{document} \begin{table}[htbp] \caption{Minimum Requirements for Automatic Readmission into the Commerce Faculty} \centering \begin{tabular}{p{0.2\textwidth}p{0.2\textwidth}p{0.2\textwidth}p{0.2\textwidth}p{0.2\textwidth}} \\ \toprule & \multicolumn{2}{c}{BCom} & \multicolumn{2}{c}{B. Bus Scii} \\ \midrule & Number of courses required to pass & Cumulative Total of Courses & Number of courses & Cumulative Total of Courses \\ \midrule First year & 4 & 8 & 4 & 8 \\ Second year & 10 & 16 & 11 & 16 \\ Third year & 18 & 24 & 20 & 25 \\ \bottomrule \end{tabular} \end{table} \begin{table}[htbp] \caption{Minimum Requirements for Automatic Readmission into the Commerce Faculty} \centering \begin{tabular}{p{0.18\textwidth}p{0.18\textwidth}p{0.18\textwidth}p{0.18\textwidth}p{0.18\textwidth}} \\ \toprule & \multicolumn{2}{c}{BCom} & \multicolumn{2}{c}{B. Bus Scii} \\ \midrule & \multicolumn{1}{p{3.5cm}}{Number of courses required to pass} & Cumulative Total of Courses & \multicolumn{1}{p{2cm}}{Number of courses} & Cumulative Total of Courses \\ \midrule First year & 4 & 8 & 4 & 8 \\ Second year & 10 & 16 & 11 & 16 \\ Third year & 18 & 24 & 20 & 25 \\ \bottomrule \end{tabular} \end{table} \end{document} 

    příklad

    Odpověď

    Můžete zkusit

    \documentclass{amsart} \usepackage{booktabs} \begin{document} \begin{table}[htbp] \caption{Minimum Requirements for Automatic Readmission into the Commerce Faculty} \centering \begin{tabular}{@{}lp{3cm}p{3cm}p{3cm}p{3cm}@{}} \toprule & \multicolumn{2}{c}{BCom} & \multicolumn{2}{c}{B.Bus.Sci} \\ \cmidrule(r){2-3} \cmidrule(l){4-5} \\ & Number of courses required to pass & Cumulative total of courses & Number of courses & Cumulative total of courses \\ \midrule \\ First year & 4 & 8 & 4 & 18 \\ \bottomrule \end{tabular} \label{table:mr} \end{table} \newcommand*{\head}[1]{\parbox{2cm}{\begin{flushright}#1\end{flushright}}} \begin{table} \caption{Minimum Requirements for Automatic Readmission into the Commerce Faculty} \centering \begin{tabular}{@{}lrrr@{}} \toprule & Year & \head{Courses required to pass} & \head{Cumulative total} \\ \midrule \\ BCom & 1 & 4 & 8 \\ & 2 & 4 & 8 \\ & 3 & 4 & 8 \\ B.Bus Sci & 1 & 4 & 18 \\ & 2 & 4 & 8 \\ & 3 & 4 & 8 \\ \bottomrule \end{tabular} \label{table:mr.2} \end{table} \end{document} 

    Napsat komentář

    Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *