답변1
tikz
나는 두 개의 루프를 사용하겠습니다 \foreach
. 예는 다음과 같습니다.
\documentclass{article}
\usepackage[margin=0.5in, noheadfoot, nomarginpar]{geometry}
\usepackage{tikz}
\usepackage{showframe}
\renewcommand*\ShowFrameLinethickness{0.2pt}
\renewcommand*\ShowFrameColor{\color{blue}}
\tikzset{
every node/.style = {
draw,
red,
text = black,
font = \large,
line width = 1.6pt,
rounded corners,
minimum width = 3cm,
minimum height = 1cm,
}
}
\pagestyle{empty}
\begin{document}
\begin{figure}
\centering
\begin{tikzpicture}
\foreach \y [evaluate=\y as \yo using \y*1.25] in {0,...,19} {
\foreach \x [evaluate=\x as \xo using \x*3.75, evaluate=\d using int(\x+5*\y+1)] in {0,...,4} {
\node at (\xo,-\yo) {The day \d}; }}
\end{tikzpicture}
\end{figure}
\end{document}
편집하다. 다음은 약간 변경된 코드입니다. 이제 노드 행이 있는 단락을 생성하고 필요한 경우 다른 페이지로 계속됩니다. 내부에 복사되므로 \foreach
필요한 행 수를 변경할 수 있습니다.
몇 가지.
노드는 줄 바꿈을 추가하지 않으며 텍스트 너비를 지정하지 않는 한 기본적으로 허용 하지 \newline
않습니다 . 또한 및 를 사용하여 작은 패딩을 추가했습니다 .\\
\par
inner xsep
inner ysep
수평 공간은 확장 가능하며 라벨 크기에 따라 달라집니다. 세로 간격은 \lineskip
기본적으로 1pt로 제어됩니다. 나는 그것을 1em
. 이 시점에서 나는 코멘트를 해야 한다. 이 예에서 단락의 내용은 표준 단락 높이를 초과할 가능성이 높으며 LaTeX는\lineskip
이 예에서 단락의 내용은 표준 단락 높이를 초과할 가능성이 높으며 LaTeX는 겹치는 것을 방지하기 위해 . 나악용하다이 사실을 확인하고 최소 공간을 1em
. 이것은 다른 예에서는 거의 작동하지 않을 것입니다.
\documentclass{article}
\usepackage[margin=0.5in, noheadfoot, nomarginpar]{geometry}
\usepackage{tikz}
\tikzset{
every node/.style = {
draw, red, line width = 1.6pt, rounded corners,
text = black, font = \large, align = center,
text width = 4cm,
inner xsep = 3pt, inner ysep = 6pt,
}
}
\newsavebox\textlabel
\NewDocumentCommand\TL{s}{%
\IfBooleanF{#1}{\hfill}%
\begin{tikzpicture}[baseline]
\node {%
Multiple line sample
\par Second line
\par Third line
};
\end{tikzpicture}}
\pagestyle{empty}
\begin{document}
\setlength\parindent{0pt}%
\setlength\lineskip{1em}% % minimum vertical space
\foreach \x in {1,...,20} {\par\TL* \TL \TL \TL};
\end{document}
참고로 이는 로 정렬할 수도 있습니다 longtable
.
답변2
MadyYuvi는 이미 적합한 패키지를 알려 주었습니다. 이에 대해 간단히 설명하겠습니다.
\documentclass{article}
\usepackage{multicol,tcolorbox}
\newtcolorbox{mybox}{colframe=red,colback=white}
\begin{document}
\begin{multicols}{3}
\begin{mybox}The Day 1\end{mybox}
\begin{mybox}The Day 1\end{mybox}
\begin{mybox}The Day 1\end{mybox}
\begin{mybox}The Day 1\end{mybox}
\begin{mybox}The Day 1\end{mybox}
\begin{mybox}The Day 1\end{mybox}
% I think you can imagine how to go on...
\end{multicols}
\end{document}
편집: 번호를 앞당깁니다.
댓글로 요청하신 대로 상자에 표시된 숫자를 앞당길 수 있습니다. 가장 간단한 방법은 물론 수동으로 숫자를 늘리는 것입니다.
\begin{mybox}The Day 1\end{mybox}
\begin{mybox}The Day 2\end{mybox}
등등. 물론 이것이 최선의 방법은 아닙니다.
그런 다음 번호 매기기를 수행하는 카운터를 추가하는 아이디어가 있습니다. MadyYuvi의 답변(+1)을 참조하세요. 이 경우에도 코드를 \begin{mybox}The Day \theboxcounter\end{mybox}
계속해서 반복해야 합니다.
forloop
이것이 바로 IMHO가 for 루프( 패키지) 를 포함하는 최고의 솔루션인 이유입니다 .
\documentclass{article}
\usepackage{multicol,tcolorbox,forloop}
\newtcolorbox{mybox}{colframe=red,colback=white}
\begin{document}
\begin{multicols}{3}
\newcounter{boxcounter}
\forloop{boxcounter}{1}{\value{boxcounter} < 25}{%
\begin{mybox}The Day \theboxcounter\end{mybox}
}
\end{multicols}
\end{document}
답변3
님 의 댓글 에 @Οὖτις 답변 OP
을 추가했습니다 .counter
\documentclass{article}
\usepackage{multicol,tcolorbox}
\newcounter{boxcounter}%
\setcounter{boxcounter}{0}%
\renewcommand{\theboxcounter}{\arabic{boxcounter}}%
\newtcolorbox{mybox}{code={\refstepcounter{boxcounter}},colframe=red,colback=white}
\begin{document}
\begin{multicols}{3}
\begin{mybox}The Day \theboxcounter\end{mybox}
\begin{mybox}The Day \theboxcounter\end{mybox}
\begin{mybox}The Day \theboxcounter\end{mybox}
\begin{mybox}The Day \theboxcounter\end{mybox}
\begin{mybox}The Day \theboxcounter\end{mybox}
\begin{mybox}The Day \theboxcounter\end{mybox}
% I think you can imagine how to go on...
\end{multicols}
\end{document}