Was bedeutet der Code in dieser Tabelle?

Was bedeutet der Code in dieser Tabelle?

Sehen Sie sich anschließend die Lösung von Andrew Swann zu meiner vorherigen Frage an:Wie passt diese Tabelle in eine Seite ein?Ich habe versucht, es in eine andere Tabelle einzupassen:

\documentclass[11pt]{book}
\usepackage[utf8]{inputenc}
\usepackage[spanish,mexico]{babel}
\usepackage[T1]{fontenc}
\usepackage{booktabs,longtable}
\usepackage{array}

\begin{document}

{\small\setlength\tabcolsep{5pt}
\begin{tabularx}{\linewidth}{ll*{2}{>{\RaggedRight\arraybackslash\hspace{0pt}}X}}
\caption{Temario de actividades Secundaria} \\
\toprule
\textsc{Horario} & \textsc{Ejercicio} & \textsc{Grado de riesgo} & \textsc{Material}\\
\addlinespace[0.5ex]
\toprule
\addlinespace[2ex]
\endfirsthead
\multicolumn{4}{c}{\textsc{\tablename~\thetable}\enspace (continuación)}\\
\addlinespace[2ex]
\toprule
\textsc{Horario} & \textsc{Ejercicio} & \textsc{Grado de riesgo} & \textsc{Material}\\
\addlinespace[0.5ex]
\toprule
\endhead
\midrule
\multicolumn{4}{r}{Continúa}
\endfoot
\bottomrule
\endlastfoot
    {\normalsize Día 1} & Bienvenida Encuadre Tema:Acuerdos de convivencia Ejercicios psicométricos & 1 & Pelota de esponja \emph{Brincón} Ejercicios psicométricos. Guía Eureka (Ver Anexo)\\
 \addlinespace
     {\normalsize Día 2} & Ejercicios psicométricos & 0 & Ejercicios psicométricos. Guía Eureka\\
\addlinespace
    {\normalsize Día 3} & Ejercicios psicométricos & 0 & Ejercicios psicométricos\\
\addlinespace
    {\normalsize Día 4} & Examen simulacro de ejercicios psicométricos en equipo & 0 & Ejercicios psicométricos. Guía verde actualizada 2000 (Ver Anexo).\\
\addlinespace
    {\normalsize Día 5} & EXAMEN DE CONOCIMIENTOS GENERALES & & \\
\end{tabularx}
}
\end{document}

Nun, das ist die Tabelle, die ich erstellen muss, aber ich bin mir nicht sicher, wie ich das richtig machen soll. Meine ersten Zweifel betreffen die Spaltenanweisung. Aus meiner vorherigen Frage und anderen Lösungen, die ich gesehen habe, habe ich Folgendes übernommen:

\begin{tabularx}{\linewidth}{ll*{3}{>{\RaggedRight\arraybackslash\hspace{0pt}}X}}

Da ich 5 Spalten benötige, verstehe ich, dass die Tabelle 3 linksbündige Spalten hat, später eine weitere nicht ausgerichtete (RaggedRight) und eine letzteXSpalte, habe ich recht? Aber ich bin mir nicht sicher. Der Code darin ll*{3}{>{\RaggedRight\arraybackslash\hspace{0pt}}X}ist für mich schwer zu verstehen, kann mir das jemand erklären?


Aktualisieren

Nach den Kommentaren und der Antwort habe ich einige Korrekturen an der Tabelle vorgenommen. Ich habe gesehen, dass eine Spalte keinen Sinn ergibt. Aber das Layout der Tabelle ist schrecklich. Wie kann ich das beheben? Gibt es eine Möglichkeit, den Text in einer Zelle aufzulisten oder zu trennen, wenn ich eine Liste und keinen Absatz brauche?

Antwort1

ll*{3}{>{\RaggedRight\arraybackslash\hspace{0pt}}X}

Ist

ll

zwei Spalten mit einzeiligen linksbündigen Einträgen, dann

 *{3}{>{\RaggedRight\arraybackslash\hspace{0pt}}X}

drei Kopien von>{\RaggedRight\arraybackslash\hspace{0pt}}X

Jede davon ist grundsätzlich eine XSpalte mit p{...}einer automatisch berechneten Breite.

Die Token in >{...}werden am Anfang jeder Zelle angewendet. In diesem Fall ist das

\RaggedRight\arraybackslash\hspace{0pt}

\RaggedRightist eine verbesserte Version des \raggedrightPakets ragged2e.

\arraybackslashist darin definiert, tabularxes wird neu definiert \\, um die Tabellenzeile zu beenden (was seinen normalen Definitionen in „Tabellen“ entspricht, aber \ragedrightusw. \RaggedRightdefinieren es lokal neu, um ein unregelmäßiges Textzeilenende zu erzeugen, was hier nicht erwünscht ist).

Ein alter Trick besteht darin , einen Absatz mit \hspace{0pt}einem Leerzeichen vor dem ersten Wort zu beginnen, damit TeX das erste Wort im Absatz trennen kann. (Der Silbentrennungsalgorithmus von TeX berücksichtigt das erste Wort ansonsten nicht, was wahrscheinlich wirklich ein Fehler ist, aber TeX ist eingefroren und wird dieses Verhalten nicht ändern.

Antwort2

David Carlisle hat Ihre ersten Fragen bereits beantwortet. Ich werde also versuchen, Ihnen bei der Lösung anderer Probleme zu helfen. Ihr MWE weist einige Fehler auf, wie z. B. „ \captionis after“ (ist nach) \begin{tabularx} ..., „es hat nicht“ (ist nicht nach) \end{document}. Und am auffälligsten ist, dass mir nicht klar ist, ob Sie (über mehrere Seiten verteilt) oder nur eine einfache Tabelle in einer Float-Umgebung haben möchten longtabe. Ich gehe davon aus, dass Letzteres der Fall ist, und erstelle Ihr MWE wie folgt neu:

    \documentclass[11pt]{book}
\usepackage[utf8]{inputenc}
%\usepackage[spanish,mexico]{babel} i haven't it ..
\usepackage[T1]{fontenc}
\usepackage{ragged2e}
\usepackage{booktabs,tabularx}

    \usepackage[labelsep=colon,
                labelfont={bf},
                justification=raggedright, 
                singlelinecheck=false]{caption}% added for caption custumization

%% just for shoving test result, erase this two line in final text
\usepackage[active,floats,tightpage]{preview}                                                              
\setlength\PreviewBorder{1em}

    \newcolumntype{C}{>{\centering\arraybackslash}X}
    \newcolumntype{L}{>{\RaggedRight\arraybackslash}X}

\begin{document}
    \begin{table}
    \setlength\tabcolsep{3pt}
    \small
\caption{Temario de actividades Secundaria}
    \begin{tabularx}{\linewidth}{
        c% first column, I change "l" to "c" (matter of taste)
        >{\setlength\hsize{1.2\hsize}}L% I make it wider
        c% third column, I change it from X to c; Is it really necessary since it is empty?,
          % does it should has equal width as second and last column?      
        >{\setlength\hsize{.6\hsize}}C% I make it narrower
        >{\setlength\hsize{1.2\hsize}}L% I make it wider
                                 }
    \toprule
Horario % I remove \textsc, for better looking of table 
        &   Ejercicio
            &   Objetivo
                &   Grado de riesgo
                    & Material                                      \\
    \midrule    
    Día 1
        & Bienvenida Encuadre Tema: Acuerdos de convivencia Ejercicios psicométricos
            &   &   1
                    &   Pelota de esponja \emph{Brincón} Ejercicios psicométricos.
                        Guía Eureka (Ver Anexo)                     \\
\addlinespace
    Día 2
        & Ejercicios psicométricos
            &   &   0
                    &   Ejercicios psicométricos. Guía Eureka       \\
\addlinespace
    Día 3
        &   Ejercicios psicométricos
            &   &   0
                    &   Ejercicios psicométricos                    \\
\addlinespace
    Día 4
        &   Examen simulacro de ejercicios psicométricos en equipo
            &   &   0
                    &   Ejercicios psicométricos.
                        Guía verde actualizada 2000 (Ver Anexo).    \\
\addlinespace
    Día 5
        &   Examen de conocimientos generales, gute
            &   &   &   \textbullet\    emulation of itemize 
                                        environment (to show 
                                        possible solutions)  \newline 
                        \textbullet\    second item \newline                                             \textbullet\    third item                  \\
    \bottomrule
    \end{tabularx}
    \end{table}
\end{document}

Im Code habe ich einige Kommentare hinzugefügt, mit denen ich versuche zu verdeutlichen, was ich mache und was mir sonst noch nicht klar ist. Wie Sie sehen, wird die Tabelle in eine Tabellenumgebung eingefügt, und ich schlage auch vor, in der Dokumentpräambel einen neuen Spaltentyp zu definieren. Bildbeschreibung hier eingeben

Bearbeiten: Iraultza Bellaustegigoitia, wenn Sie mit dem Entwurf von Tabellen beginnen – dies ist eine der anspruchsvollsten Aufgaben bei der Verwendung von LaTeX – müssen Sie einige Entscheidungen treffen, beispielsweise:

  • Passt die Tabelle auf eine Seite oder ist sie so groß, dass sie auf mehrere Seiten aufgeteilt wird?
  • Kann die Tabelle im Text schweben oder nicht?
  • Sollte die Tabelle die vorgeschriebene Breite haben?

Unter Berücksichtigung der Antworten auf die obige Frage wählen Sie eine tabellarische Umgebung aus, z. B. tabularxfür eine Tabelle auf einer Seite, longtablefür eine größere Tabelle usw. Wenn Sie mit dem ausgewählten Paket nicht vertraut sind, lesen Sie (zumindest kurz) die Dokumentation, die dem Paket beiliegt.

Beachten Sie bei der Gestaltung einer Tabelle einige einfache Regeln:

  • Neuere mischen bestimmte Funktionen verschiedener Pakete (verwenden Sie beispielsweise die Kopf-/Fußzeilendefinition von longtablein tabularx). Ausnahmen sind die Pakete arrayund booktabs, die zur Unterstützung anderer tabellarischer Pakete entwickelt wurden.
  • Es ist keine gute Idee, in Tabellen unterschiedliche Schriftgrößen zu verwenden

Ich habe mein MWE ein wenig überarbeitet, ein Beispiel für die einfache Emulation von Listen in Tabellenzellen hinzugefügt (für anspruchsvollere Layouts empfehle ich die Verwendung einiger Listenpakete enumitem) und ein neues Bild der damit generierten Tabelle hinzugefügt. Ich hoffe, dass es in etwa dem entspricht, was Sie erreichen möchten, und dass Ihnen diese Ergänzung dabei hilft.

Antwort3

Nun, nachdem ich den ganzen verdammten Tag mit diesem Tisch gekämpft habe, und dank der freundlichen Antworten und Erklärungen von David Carlisle und dem Zarco-Trick, habe ich den Tisch genau so, wie ich wollte.

Ich habe Folgendes getan:

\documentclass[11pt]{book}
\usepackage[utf8]{inputenc}
\usepackage[spanish,mexico]{babel}
\usepackage[T1]{fontenc}

\usepackage{ragged2e}
\usepackage{array,caption}
\captionsetup{labelfont=sc,textfont=it}
\usepackage{tikz}
\usepackage{ltablex}
\renewcommand{\tabularxcolumn}[1]{>{\small}m{#1}}
\usepackage{multirow}
\usepackage{booktabs}
\usepackage{longtable}

\newcolumntype{C}{>{\centering\arraybackslash\hspace{0pt}}X}
\newcolumntype{L}{>{\RaggedRight\arraybackslash\hspace{0pt}}X}    

\begin{document}
{\small\setlength\tabcolsep{5pt}
\begin{tabularx}{\linewidth}{cLCL} % {lc*{2}L}
\caption{Temario de actividades Secundaria} \\
\toprule
\textsc{Horario} & \textsc{Ejercicio} & \textsc{Grado de riesgo} & \textsc{Material}\\
\addlinespace[0.5ex]
\toprule
\addlinespace[2ex]
\endfirsthead
\multicolumn{4}{c}{\textsc{\tablename~\thetable}\enspace (continuación)}\\
\addlinespace[2ex]
\toprule
\textsc{Horario} & \textsc{Ejercicio} & \textsc{Grado de riesgo} & \textsc{Material}\\
\addlinespace[0.5ex]
\toprule
\endhead
\midrule
\multicolumn{4}{r}{Continúa}
\endfoot
\bottomrule
\endlastfoot
    {\normalsize Día 1} & Bienvenida\par Encuadre\par Tema:\par Acuerdos de convivencia\par Ejercicios psicométricos & 1 & Pelota de esponja\par \emph{Brincón}\par Ejercicios psicométricos\par Guía Eureka (Ver Anexo)\\
 \addlinespace
     {\normalsize Día 2} & Ejercicios psicométricos & 0 & Ejercicios psicométricos. Guía Eureka\\
\addlinespace
    {\normalsize Día 3} & Ejercicios psicométricos & 0 & Ejercicios psicométricos\\
\addlinespace
    {\normalsize Día 4} & Examen simulacro de ejercicios psicométricos en equipo & 0 & Ejercicios psicométricos. Guía verde actualizada 2000 (Ver Anexo).\\
\addlinespace
    {\normalsize Día 5} & \multicolumn{3}{c}{EXAMEN DE CONOCIMIENTOS GENERALES} \\
 \addlinespace
    {\normalsize Día 6} & Autoconcepto \par Autoestima \par Elaboración de mi propio regalo & 2 & Papel bond\par Plumones\par Pegamento\par Tijeras\par Crayolas \\
\end{tabularx}
}
\end{document}

Mein anderes Problem war, wie ich den Text in einer Zelle dieser Tabelle auflisten sollte. Ich glaube nicht, dass die Verwendung einer Umgebung wie itemizeoder enumerateverschachtelt darin eine gute Idee war, das heißt, ich glaube nicht, dass es richtig kompiliert. Oft ist es einfach, den Text mithilfe von zu trennen, \\aber da in den Tabellen die Zeilen so unterschieden werden, schien keines von beiden zu funktionieren. Am Ende habe ich versucht, es zu verwenden, \parund es hat funktioniert, aber ich weiß nicht, ob es einen besseren Weg gibt.

verwandte Informationen