(挑战)制作带有清单和正确对齐的表格

(挑战)制作带有清单和正确对齐的表格

也许您可能想将这个问题视为某种挑战。我真的只是在寻找制作类似于下图的表格的“最有效方法”(当然是在 LaTeX 中):

在此处输入图片描述

我尝试了几种不同的方法,但最终却一团糟,我的序言中有一千个包。(这里的“千”是夸张的说法,表示“太多了,我的大脑无法跟踪”。)因为我提供了我想要的图像,所以我觉得这里不需要任何 MWE。

只要看起来最像上面的图片,并且最不让人头疼,我就会将其标记为解决方案。请注意,一周中的天数与单元格的水平中心对齐,与其他内容不同。

笔记。我提供的参考表格是使用 LibreOffice writer 和 immortalCMU Serif字体制作的。如果您眼力好,您会注意到列表元素的内容没有完全对齐,因为所有列表文本块的第二行和后续行都略微向前推了一点。这既不是故意的也不是想要的。

答案1

  • 关于你的声誉,你应该知道,这个网站不是服务我们将代替你完成你的任务 ,所以你应该展示你的尝试
  • 问题不是某种挑战,而是带有列表的简单表格,其中的标签为方块。例如:
\documentclass{article}
\usepackage[landscape,
            margin=20mm]{geometry}

\usepackage{tabularray}  
\UseTblrLibrary{varwidth}
\usepackage{amssymb}
\usepackage{ragged2e}
\usepackage{enumitem}
\usepackage{etoolbox}
\AtBeginEnvironment{tblr}%
{%
\setlist[itemize]{nosep,
                  label=$\square$,%
                  itemsep=1ex,
                  leftmargin=*}%
}

\begin{document}
\noindent
\begin{tblr}{hlines, vlines,
             colspec = { Q[l] *{7}{X} },
             cell{2-Z}{2-Z}= {cmd=\RaggedRight,font=\small\linespread{0.84}\selectfont},
             stretch = -1,%<--- remove extra space above and below lists
                        % with "nosep" option; tabularray doc p.51
             row{1}  = {c},
             measure = vbox,
             }
        & Monday & Tuesday & Wednesday & Thursday & Friday & Saturday & Sunday \\
Morning &   \begin{itemize}
        \item   Some stuff and some more stuff
        \item   More stuff
            \end{itemize}
            &   \begin{itemize}
            \item   Some stuff and some more stuff
            \item   Some more stuff yet
                \end{itemize}
                &   \begin{itemize}
                \item   Some stuff and some more stuff
                \item   Some more stuff yet
                    \end{itemize}
                    &   \begin{itemize}
                    \item   Some stuff and some more stuff
                    \item   Some more stuff yet
                        \end{itemize}
                        &   \begin{itemize}
                        \item   Some stuff and some more stuff
                        \item   Some more stuff yet
                        \item   Extra
                            \end{itemize}
                            &   \begin{itemize}
                            \item   Some stuff and some more stuff
                            \item   Some more stuff yet
                                \end{itemize}
                                &   \begin{itemize}
                                \item   Some stuff and some more stuff
                                \item   Some more stuff yet
                                    \end{itemize}   \\
Day         &   \begin{itemize}
            \item   Stuff
            \end{itemize}
                &   \begin{itemize}
                \item   Stuff
                    \end{itemize}
                    &   \begin{itemize}
                    \item   Stuff
                        \end{itemize}
                        &   \begin{itemize}
                        \item   Stuff
                             \end{itemize}
                            &   \begin{itemize}
                            \item   Stuff
                                \end{itemize}
                                &   \begin{itemize}
                                \item   Stuff
                                    \end{itemize}
                                    &   \begin{itemize}
                                    \item   Stuff
                                        \end{itemize}   \\
        Evening     &   \begin{itemize}
            \item   Stuff
            \item   More stuff
            \end{itemize}
                &   \begin{itemize}
                \item   Stuff
                    \end{itemize}
                    &   \begin{itemize}
                    \item   Stuff
                        \end{itemize}
                        &   \begin{itemize}
                        \item   Stuff
                             \end{itemize}
                            &   \begin{itemize}
                            \item   Stuff
                            \item   More stuff
                                \end{itemize}
                                &   \begin{itemize}
                                \item   Stuff
                                    \end{itemize}
                                    &   \begin{itemize}
                                    \item   Stuff
                                        \end{itemize}   \\
    \end{tblr}
\end{document}
  • 最终选择表格包和列表格式化需要一些努力,但对于表格,你从@Clara 那里得到了很好的建议,对于列表格式化有很多如何做到这一点的例子。你只需要谷歌一下...
  • 写表格时您应该知道表格很宽,因此使用landscape页面方向是合理的选择,而且\small字体大小似乎也能给出好看的效果:

在此处输入图片描述

答案2

以此作为起点怎么样?再做一些工作,您就可以根据需要进行修复:对齐、间距、线条...

\documentclass[12pt]{article}
\usepackage{bbding} % for square definition
\usepackage[a4paper, landscape, total={267mm,180mm},left=10mm,top=10mm]{geometry}
\usepackage{tabularray} %for the table
\newcounter{tabitem}
\newcommand{\tabitem}{\stepcounter{tabitem}\makebox[21pt][r]{\raisebox{-3pt}{\Square}\;\,}} %fot the \item square

\begin{document}
    
    \begin{tblr}{vlines,hlines}
        & Monday & Tuesday & Wednesday & Thursday & Friday & Sutarday & Sunday \\
        Morning & \tabitem \parbox[t]{3cm}{Some stuff and some more stuff} & \tabitem \parbox[t]{3cm}{This stuff is more stuff but not the same as the previous}\\
        Day& No list here & \tabitem \parbox[t]{3cm}{Some stuff is also present here}\\
        Evening & & \\
    \end{tblr}
    
\end{document}

输出

相关内容