Что означает код в этой таблице?

Что означает код в этой таблице?

Посмотрите решение Эндрю Суонна на мой предыдущий вопрос:Как разместить эту таблицу на странице?Я попытался втиснуть это в другую таблицу:

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

Ну, вот таблица, которую мне нужно сделать, но я не уверен, как это сделать хорошо. Мои первые сомнения касаются оператора столбца, из моего предыдущего вопроса и других решений, которые я видел, я адаптировал это:

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

Поскольку мне нужно 5 столбцов, я понимаю, что таблица имеет 3 выровненных по левому краю столбца, затем еще один не выровненный (RaggedRight) и последнийИксколонка, я прав? Но я не уверен. Код в ll*{3}{>{\RaggedRight\arraybackslash\hspace{0pt}}X}мне трудно понять, может кто-нибудь объяснить?


Обновлять

После комментариев и ответа я сделал несколько исправлений в таблице, я увидел, что столбец не имеет смысла. Но макет таблицы ужасен. Как это исправить? Есть ли способ перечислить или разделить текст в ячейке, если мне нужен список, а не абзац?

решение1

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

является

ll

два столбца однострочных записей, выровненных по левому краю, затем

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

три копии>{\RaggedRight\arraybackslash\hspace{0pt}}X

каждый из них по сути является Xстолбцом, ширина которого p{...}рассчитывается автоматически.

Маркеры в >{...}применяются к началу каждой ячейки. В данном случае это

\RaggedRight\arraybackslash\hspace{0pt}

\RaggedRightявляется улучшенной версией \raggedrightиз ragged2eпакета.

\arraybackslashопределен в tabularxнем, переопределяет его \\для завершения строки таблицы (что является его обычным определением в табличном виде, но \ragedrightи \RaggedRightт. д. переопределяет его локально, чтобы сделать конец строки текста неровным, что здесь нежелательно).

Начинать абзац с пробела \hspace{0pt}— старый трюк, позволяющий TeX переносить первое слово в абзаце. (В противном случае алгоритм переноса TeX не учитывает первое слово, что, вероятно, является ошибкой, но TeX заморожен и не собирается менять это поведение.)

решение2

Дэвид Карлайл уже ответил на ваши первые вопросы. Поэтому я постараюсь помочь вам решить другие проблемы. В вашем MWE есть некоторые ошибки, например , \captionпосле \begin{tabularx} ..., а не \end{document}. И самое примечательное, мне не ясно, хотите ли вы иметь longtabe(распространение на большую страницу) или просто простую таблицу в плавающей среде. Я предполагаю, что последний случай имеет место, и переделаю ваш MWE следующим образом:

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

В коде я добавил несколько комментариев, с помощью которых я пытаюсь прояснить, что я делаю, а что еще не упомянуто, мне не ясно. Как вы видите, таблица помещена в окружение таблиц, и я также предлагаю определить новый тип столбца в преамбуле документа. введите описание изображения здесь

Редактировать: Ираулца Беллаустегигоития, когда вы начинаете проектировать таблицы (это одна из самых сложных задач при использовании LaTeX), вам необходимо принять некоторые решения, такие как:

  • поместится ли таблица на одной странице или она настолько большая, что будет разбита на несколько страниц
  • может ли таблица плавать в тексте или нет
  • таблица должна иметь предписанную ширину

Учитывая ответы на поставленные выше вопросы, вы выбираете табличную среду, например, tabularxдля таблицы на одной странице, longtableдля более крупной и т. д. Если вы не знакомы с выбранным пакетом, прочтите (хотя бы кратко) документацию, которая прилагается к пакету.

При оформлении таблицы учитывайте несколько простых правил:

  • более новые смешивают определенные возможности разных пакетов (например, используют определение заголовка/футера из longtable) tabularx. Исключениями являются arrayи booktabsпакет, которые разработаны для поддержки других табличных пакетов.
  • плохая идея использовать разные размеры шрифтов в таблице

Я немного переделал свой MWE, добавил пример для простой эмуляции списков в ячейке таблицы (для более сложной компоновки я предлагаю использовать некоторые пакеты списков, такие как enumitem) и добавил новую картинку генерации таблицы с его помощью. Надеюсь, что это близко к тому, чего вы хотели бы добиться, и что это мое дополнение вам поможет.

решение3

Ну что ж, после целого дня мучений с этим столом, а также благодаря любезным ответам и объяснениям Дэвида Карлайла и трюку Зарко, у меня есть стол, который я хотел.

Я сделал следующее:

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

Моя другая проблема заключалась в том, как включить текст в ячейку этой таблицы. Я не думаю, что использование окружения типа itemizeили enumerateвложенного внутри было хорошей идеей, то есть, я не думаю, что это правильно компилируется. Во многих случаях легко разделить текст с помощью , \\но так как в таблицах строки различаются, ни один из них, похоже, не сработал. В конце концов я попробовал использовать , \parи это сработало, но я не знаю, есть ли способ лучше.

Связанный контент