该表中的代码代表什么意思?

该表中的代码代表什么意思?

在看到 Andrew Swann 对我之前的问题的解决方案后:如何将该表格放入页面中?我尝试将其放入另一张表中:

\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),最后一个X列,我说得对吗?但我不确定。中的代码ll*{3}{>{\RaggedRight\arraybackslash\hspace{0pt}}X}对我来说很难理解,有人能解释一下吗?


更新

在评论和回答之后,我在表格中做了一些更正,我发现 aa 列没有意义。但表格的布局很糟糕。我该如何修复它?如果我需要列表而不是段落,有没有办法列出或分隔单元格中的文本?

答案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

David Carlisle 已经回答了您的第一个问题。因此,我将尝试帮助您解决其他问题。您的 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)。例外是arraybooktabs包,它们旨在支持其他表格包。
  • 在表格中使用不同的字体大小是个坏主意

我重新设计了我的 MWE,添加了表格单元格中列表的简单模拟示例(对于要求更高的布局,我建议使用一些列表包enumitem),并添加了由它生成的表格的新图片。我希望它接近这个,你想要实现的目标,并且我的这个补充会对你有所帮助。

答案3

好吧,在为这张表格奋斗了一整天之后,感谢 David Carlisle 和 Zarco 技巧的友好回复和解释,我得到了我想要的表格。

我做了以下事情:

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

我的另一个问题是如何在这个表格的单元格内列出文本。我认为使用类似itemizeenumerate嵌套的环境不是一个好主意,也就是说,我认为它编译不正确。很多时候使用很容易分离文本\\,但就像表格中区分行的方式一样,这两种方法似乎都行不通。最后我尝试使用\par并且成功了,但我不知道是否还有更好的方法。

相关内容