如何在 LaTeX/ConTeXT 中最好地重现此规划器布局?

如何在 LaTeX/ConTeXT 中最好地重现此规划器布局?

格式的屏幕截图(我在 Publisher 中尽可能地制作):

封面:
正面

内部跨页:
里面

背板:
后退


细微差别:

  • 两种页面布局,带有固定的 22.5 毫米装订线/内边框,用于打孔。
  • 我希望能够通过指定框、边距和标题之间的间隙来确定框的大小,然后允许它们增大(保持大小相等)以适应。
  • 我想在第一页的框中放置一个点网格。
  • 我想将长盒子分成几行。
  • 我希望能够在标题下划线,使得悬垂的字母可以打破下划线。

我尝试过的:

  1. \usepackage{几何}
    • 用于添加 25mm 内边框。
  2. \usepackage{tikzpageanchors}
    • 尝试使用它将标题(在节点中)定位到实际文本区域的顶部。有些成功,但无法让标题从锚点进一步向下推(不稳定、框太满等)。

MWE 从各种帖子中总结出来:

\documentclass{memoir}
\usepackage{tikz, ragged2e} 
\usepackage{tcolorbox}
\tcbuselibrary{skins,raster}
\usepackage[twoside,
            bindingoffset=25mm,
            left=0.2in, right=0.2in, top=0.5in, bottom=0.5in,
            ]{geometry}


\newtcolorbox{mybox}[2][]{
  enhanced,
  attach boxed title to top center={yshift=-\tcboxedtitleheight/2},
  colframe=black,
  colback=white,
  fonttitle=\huge\scshape,
  colbacktitle=white,
  coltitle=black,
  boxed title style={
    boxrule=0pt,
    colframe=white,
    },
  title=#2,
  #1}

\newcommand{\dotgrid}[2]{
\begin{tikzpicture}
    \begin{scope}[scale=0.5]
        \foreach \x in {0,...,#1} % Number of columns of dots
        \foreach \y in {0,...,#2} % Number of rows of dots. If you change the spacing or margins, you'll have to play with these x and y ranges to make sure you have the right amount for the page.
        {
            \fill[gray!75] (\x,\y) circle (0.06cm); % this is the thickness of the dots, blue because I like blue.
        }
    \end{scope}
\end{tikzpicture}
}

\pagestyle{empty}
\begin{document}

\begin{center}
\HUGE\textsc{Week 11 of 52}
\end{center}

\normalsize

\begin{tcbraster}[raster column skip=0.05\columnwidth,raster equal height]
    \begin{mybox}{Goals}
        \dotgrid{9}{20}
    \end{mybox}
    \begin{mybox}{Notes}
        \dotgrid{9}{20}
    \end{mybox}

    \begin{mybox}{Habits}
        \dotgrid{9}{20}
    \end{mybox}
    \begin{mybox}{Meals}
       \begin{itemize}
       \item Mon:
       \item Tue:
       \item Wed:
       \item Thu:
       \item Fri:
       \item Sat:
       \item Sun:
       \end{itemize}
    \end{mybox}
\end{tcbraster}

\newpage
\pagestyle{empty}

\begin{tcbraster}[raster column skip=0.05\columnwidth,raster height=\textheight]
    \begin{mybox}{Mon}
        I would like to be divided into hours!
    \end{mybox}
    \begin{mybox}{Tue}
        I would like to be divided into hours!
    \end{mybox}
    \begin{mybox}{Wed}
        I would like to be divided into hours!
    \end{mybox}
\end{tcbraster}


\end{document}

MWE 的问题:

  • 无法将 3 个日期框并排放在页面上
  • 无法将日期框垂直划分为小时
  • 无法将点网格置于框内中央
  • 无法将标题放大到我想要的大小
  • 无法让第一页上的框填满标题下的可用垂直空间

答案1

您可以使用命令修复无法并排放置的框raster columns

几何与twoside修复bindingoffset您的打孔校正。

\usepackage{tikz, ragged2e}
\usepackage{multicol}
\usepackage{tcolorbox}
\tcbuselibrary{skins,raster}
\usepackage[twoside,
            bindingoffset=25mm,
            left=0.2in, right=0.2in, top=0.5in, bottom=0.5in,
            ]{geometry}


\newtcolorbox{mybox}[2][]{
  enhanced,
  attach boxed title to top center={yshift=-\tcboxedtitleheight/2},
  colframe=black,
  colback=white,
  fonttitle=\huge\scshape,
  colbacktitle=white,
  coltitle=black,
  boxed title style={
    boxrule=0pt,
    colframe=white,
    },
  title=#2,
  #1}

\newcommand{\dotgrid}[2]{
\begin{tikzpicture}
    \begin{scope}[scale=0.5]
        \foreach \x in {0,...,#1} % Number of columns of dots
        \foreach \y in {0,...,#2} % Number of rows of dots. If you change the spacing or margins, you'll have to play with these x and y ranges to make sure you have the right amount for the page.
        {
            \fill[gray!75] (\x,\y) circle (0.06cm); % this is the thickness of the dots, blue because I like blue.
        }
    \end{scope}
\end{tikzpicture}
}

\pagestyle{empty}
\begin{document}

\begin{center}
\HUGE\textsc{Week 11 of 52}
\end{center}

\normalsize

\begin{tcbraster}[raster column skip=0.05\columnwidth,raster equal height]
    \begin{mybox}{\HUGE Goals}
        \dotgrid{9}{20}
    \end{mybox}
    \begin{mybox}{\HUGE Notes}
        \dotgrid{9}{20}
    \end{mybox}

    \begin{mybox}{\HUGE Habits}
        \dotgrid{9}{20}
    \end{mybox}
    \begin{mybox}{\HUGE Meals}
       \begin{itemize}
       \item Mon:
       \item Tue:
       \item Wed:
       \item Thu:
       \item Fri:
       \item Sat:
       \item Sun:
       \end{itemize}
    \end{mybox}
\end{tcbraster}

\newpage
\pagestyle{empty}

\begin{tcbraster}[raster height=\textheight, raster columns=3]
    \begin{mybox}{\HUGE Mon}
        I would like to be divided into hours!
    \end{mybox}
    \begin{mybox}{\HUGE Tue}
        I would like to be divided into hours!
    \end{mybox}
    \begin{mybox}{\HUGE Wed}
        I would like to be divided into hours!
    \end{mybox}
\end{tcbraster}

\newpage
\pagestyle{empty}

\begin{tcbraster}[raster height=\textheight, raster columns=3]
    \begin{mybox}{\HUGE Thu}
        I would like to be divided into hours!
    \end{mybox}
    \begin{mybox}{\HUGE Fri}
        I would like to be divided into hours!
    \end{mybox}
    \begin{mybox}{\HUGE Notes}
        Dot grid me!
    \end{mybox}
\end{tcbraster}

\end{document}

封面:
正面

内页:
正面

不确定如何处理列高 - 有人可以介入吗?

相关内容