Segítség a booktabs táblához

Én “viszonylag új felhasználó vagyok a Latex számára, és először próbálok táblázatot készíteni a dolgozatomhoz. szeretné, ha a táblázat így nézne ki:

írja ide a kép leírását

Néhány internetes kutatást követően előálltam a következő kód (hagyja figyelmen kívül a Latex kód és a word dokumentum közötti oszlopfejlécek közötti különbségeket)

\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} 

egyáltalán nem működik!

Megjegyzések

  • Anélkül, hogy ismernéd a bookstable sajátosságait, itt elírásod van: {{BCom}, és mindegyik a sornak \\ -vel kell végződnie (hiányzik a ” tanfolyamok számából … ” sor). És az összesített oszlop a több oszlopnak meg kell egyeznie a táblázat összes oszlopának számával, ezért csak tegyen egy & -t a sor elejére, hogy üres első oszlopot hozzon létre.

Válasz

Jobb verzió:

\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} 

írja ide a kép leírását

Miért nem fordította le a kód?

  1. Hiányzott egy & a

    az első bejegyzés beírása az első oszlopba.

  2. Van egy && a sor

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

    & legyen, és tegyen egy & a sor elején. És ennek a sornak a végén hiányzott a \\ közvetlenül a \cmidrule előtt.

Most a módosítások

A fentiek kijavítása után egy új oszloptípust vezettem be a A array csomag segítsége:

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

\raggedright hozzáadva a csúnya igazolási hatások elkerülése érdekében, mivel az oszlopok keskenyek és a szavak hossza változhat. Ez gondoskodik a rossz dobozokról is.

Ezt az L oszlopot szélességgel használtam

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

át

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

az ismétlés helyett.

Mellékesen a \cmidrule l eft vagy r ight rövidíthető a következővel: >

Itt {4pt} az az összeg, amellyel rövidítünk. Úgy maradhat, mint a \cmidrule(r){4-5}.

Megjegyzések

  • Köszönöm szépen. Tökéletesen működik, és köszönöm az alapos magyarázatot. Még egy gyors kérdés – a táblázat fejlécének igazítása kissé butának tűnik – a képem . Milyen lehetőségek vannak arra, hogy esztétikusabban nézzen ki? Lehetséges lenne, hogy a címsor egy sorba illeszkedjen?
  • @Chris én szerkesztettem. A változások a margón és az oszlopok szélességén vannak. Ez a lehető legjobb ilyen hosszú fejlécekkel. : 0
  • @Chris Megjegyzendő, hogy itt köszönetet mondani a legjobb szavazatokkal (minden jó válasz) és elfogadással (a hasznosabb válasz) lehet kommunikálni. Érdemes utalnia a kérdésre: Hogyan fogadja el a választ? kétségek esetén 🙂
  • szia @Harish Kumar! a válaszod és még egy másik :). Csak egy gyors kérdés – hogyan tölthetek ki egy üres cellát egy táblázatba egy ” – ” mezővel. Megpróbáltam a következőt: ” \ – “, de a cella üres marad.
  • @Chris Thanks. :). Csak -, (no \) vagy jobb $-$ vagy még jobb --- . Remélem, hogy segít.

Válasz

A booktabs package (hogy jól nézzen ki, azaz jól elhatárolható, vízszintes vonalak legyenek), azt is javasoljuk, hogy használja az tabularx csomagot a négy egyenlő szélességű feladat egyszerűsítéséhez oszlopok.

írja ide a kép leírását

\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} 

Kiegészítés : Egyébként a közzététel során megjelenített táblázat megjelenése nem érhető el a booktabs csomag parancsainak használatakor. Ha valóban szüksége van ezekre a függőleges és vízszintes vonalakra, akkor ne használja a \toprule, \bottomrule, és \cmidrule. Ehelyett csak az basic-LaTeX \hline utasítást használja. (Természetesen még mindig használja az tabularx csomagot az egyenlő szélességű oszlopok létrehozásának egyszerűsítéséhez a táblázat 2–5 oszlopaihoz.)

Ezek a módosítások a táblázat látható.Remélem, egyetértesz azzal, hogy a “könyvtáblák kinézete” – nincsenek függőleges vonalak, kevesebb a vízszintes vonal és a jól elrendezett szabályok – sokkal előnyösebb, mint amit “táblázatkezelésnek” nevezhetünk.

írja ide a kép leírását

\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} 

Megjegyzések

  • Szia – igen, egyetértek a könyvjelzők megjelenésével sokkal jobb. Az OP-ban lévő kép a Word-ből származik, és rohantam a postázásra, mert el kellett mennem valahova. A függőleges vonalak azért voltak ott, mert a Word ” table ” eszköz alapfelszereltsége.

Válasz

Nézze meg a következőket:

\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élda

Válasz

Megpróbálhatja

\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} 

Vélemény, hozzászólás?

Az email címet nem tesszük közzé. A kötelező mezőket * karakterrel jelöltük