
Я создаю таблицу с помощью multicol
и rule
, чтобы иметь ячейки динамического размера и заполнять ее с помощью макроса, а не вручную.
В основном это работает, однако я хотел бы уменьшить высоту линии между столбцами. Посмотрите пример того, как я это строю, и картинку того, как выглядит результат полного документа.
\documentclass{article}
\usepackage[a5paper,margin=15mm, top=0.8cm, bottom=0.7cm, left=1cm, right=1cm,headsep=2pt]{geometry}
\usepackage{multicol}
\newcounter{qnumber}
\setcounter{qnumber}{0}
\newcommand{\question}[1]{%
\rule{\columnwidth}{0.01pt} \newline
\stepcounter{qnumber}
Q\theqnumber. \textsf{#1}
\vspace{4.5mm}
}
\begin{document}
\pagestyle{intervention}
\thispagestyle{intervention}
\setlength{\columnseprule}{0.1pt}
\section*{Week 1}
\begin{multicols}{2}
\question{Calculate the following:
\begin{enumerate}[(a)]
\item $10 \times 0.5$
\item $10 \times 0.25$
\end{enumerate}
}
\end{multicols}
\end{document}
Выводит результат вроде:
Как уменьшить эту высоту?
решение1
Вот решение с tikz
.
Я создал макрос \mypagerule
с двумя аргументами, которые представляют собой расстояние (в см) от верха и низа страницы соответственно.
Вам придется устанавливать его для каждой страницы, но, судя по изображению, которое вы разместили, я думаю, что у вас только одна страница.
Вот код (я кое-что изменил, чтобы сделать его компилируемым):
\documentclass{article}
\usepackage[a5paper,top=0.8cm, bottom=0.7cm, left=1cm, right=1cm,headsep=2pt]{geometry}
\usepackage{multicol}
\usepackage{enumitem}
\setenumerate{label={(\alph*)},leftmargin=*}
\usepackage{tikz}
\usetikzlibrary{calc}
\newcommand{\mypagerule}[2]{%
\begin{tikzpicture}[overlay,remember picture]
\draw($(current page.north)-(0,#1)$)--($(current page.south)+(0,#2)$);% --
\end{tikzpicture}
}
\newcounter{qnumber}
\setcounter{qnumber}{0}
\newcommand{\question}[1]{%
\noindent
\rule{\columnwidth}{0.01pt} \newline
\stepcounter{qnumber}
Q\theqnumber.~\textsf{#1}
\vspace{4.5mm}
}
\begin{document}
\section*{Week 1}
\begin{multicols}{2}
\question{Calculate the following:
\begin{enumerate}
\item $10 \times 0.5$
\item $10 \times 0.25$
\end{enumerate}
}
\question{Calculate the following percentage:
\begin{enumerate}
\item $10$\% of $500$
\item $5$\% of $500$
\end{enumerate}
}
\question{Round the following numerbers (I don't know the rest of the question):
\begin{enumerate}
\item $10.456789789$
\item $51.5454844$
\end{enumerate}
}
\question{The following question is about Standard Form:
\begin{enumerate}
\item Express $3600$ in standard form
\item Write $2.1 \times {10}^{3}$ as a normal number
\end{enumerate}
}
\question{Mr Wilson and Mr Bedford have a peanlty shoot-out. The probability of Mr Wilson scoring is 0.4:
\begin{enumerate}
\item What is the probability he misses?
\end{enumerate}
}
\question{Ten students take ten penalties each. The number that each of them scores is below:
\begin{enumerate}
\item $1$
\item $2$
\item $3$
\item $4$
\item $5$
\item $6$
\item $7$
\item $8$
\item $9$
\item $10$
\end{enumerate}
}
\mypagerule{2}{6}
\end{multicols}
\end{document}
Вот что получилось (фактическая толщина линии правильная, на картинке она кажется толстой, но это не так):
решение2
Вот неэлегантное решение, ожидающее лучшего. Оно просто поднимает \rule
s, определяющий каждую ячейку. Закомментированная часть — потенциальный зацеп на лучшее решение... но я не могу с этим справиться.
\documentclass{article}
\usepackage[a5paper]{geometry}
\usepackage{multicol}
\usepackage{graphicx}
\begin{document}
\setlength{\columnseprule}{0.1pt}
%\def\columnseprulecolor{%
%\rotatebox{90}{\makebox[0.4\textheight][c]{\rule{0.4\textheight}{0.1pt}}}
% }%
\section*{Section Title}
\begin{multicols}{2}
\noindent\raisebox{2.25ex}{\rule{\columnwidth}{0.01pt}}
Here is some content, in its own cell defined by the column separator rule and the rules above and below it.\vspace{5ex}
\raisebox{2.25ex}{\rule{\columnwidth}{0.01pt}}
Here is some content, in its own cell defined by the column separator rule and the rules above and below it.\vspace{5ex}
\raisebox{2.25ex}{\rule{\columnwidth}{0.01pt}}
Here is some content, in its own cell defined by the column separator rule and the rules above and below it.\vspace{5ex}
\raisebox{2.25ex}{\rule{\columnwidth}{0.01pt}}
Here is some content, in its own cell defined by the column separator rule and the rules above and below it.\vspace{5ex}
\raisebox{2.25ex}{\rule{\columnwidth}{0.01pt}}
Here is some content, in its own cell defined by the column separator rule and the rules above and below it.\vspace{5ex}
\raisebox{2.25ex}{\rule{\columnwidth}{0.01pt}}
Here is some content, in its own cell defined by the column separator rule and the rules above and below it.\vspace{5ex}
\end{multicols}
\end{document}