我想制作 3by5 的指导性索引卡。每页制作一张卡片很容易,但我想在一张 8.5by11 的卡片纸上打印五张同一款汽车的副本,这样每页可以制作五张卡片,左边距上两张纵向卡片,右边距顶部上三张横向卡片。请注意,页面背面的内容是反转的,右边距上两张纵向卡片,左边距底部上三张横向卡片。横向卡片的方向需要旋转(文本应始终以纵向模式显示),卡片的角落应该会出现小而浅的剪切痕迹。
本消息附有一张样例卡片。卡片正面顶部的徽标和卡片正面底部的版权声明必须始终出现在同一个位置。文本通常会包含一些程序代码(如样例卡片所示),还可能包含一些数学运算、表格环境,甚至是数据结构的一小段线条图。
我对 LaTeX 不是特别了解,主要用它做一些类似下面显示的简单事情。我不知道从哪里开始编写宏来制作 5 张 3by5 卡片。有人能帮忙吗?
非常感谢,
菲尔
% peasant multiplication
\documentclass{article}
\usepackage[pdftex]{graphicx}
\usepackage{wrapfig}
\setlength{\textheight}{4.75in}
\setlength{\textwidth}{2.75in}
\pagestyle{empty}
\addtolength{\parskip}{+0.3\baselineskip}
\begin{document} \begin{small}
\null \kern -\headheight \kern -\headsep \kern -\topskip \noindent
\includegraphics[width=2.75in]{ProgrammingPraxis.png}
\begin{figure}[b]\begin{minipage}{\textwidth}\tiny
Copyright \copyright 2012 by Programming Praxis.
All rights reserved.
See http://programmingpraxis.com for more information.
\end{minipage}\end{figure}
\begin{center}
\textbf{Peasant Multiplication}
\end{center}
When the Egyptians built the pyramids, they invented a method for multiplying two numbers using only halving, doubling, and addition. As an example, consider the product $83 \times 97 = 8051$:
\begin{center}
\begin{tabular}{rrr}
83 & 97 & 97 \\
41 & 194 & 194 \\
20 & 388 \\
10 & 776 \\
5 & 1552 & 1552 \\
2 & 3104 \\
1 & 6208 & 6208 \\ \cline{3-3}
& & 8051
\end{tabular}
\end{center}
The algorithm starts by writing the two numbers to be multiplied at the head of two columns. Then repeatedly halve the number in the left column, ignoring any remainder, and double the number in the right column, writing the new numbers below their predecessors, until the left column reaches one. Finally, in a third column, the number in the second column is copied whenever the number in the first column of the same row is odd, and the numbers in the third column are summed, giving the product. The algorithm works using binary arithmetic: $97 \times 1 + 97 \times 2 + 97 \times 16 + 97 \times 64 = 8051$, where $1 + 2 + 16 + 64 = 83$ correspond to the positions of the odd numbers in the first column.
It is easy to operate the algorithm by hand using piles of pebbles in pairs. It is also easy to program the algorithm in a binary computer, where halving and doubling are trivial. In fact, in their internal microcode, most modern computers use exactly this algorithm to multiply two numbers.
A program to implement peasant multiplication performs the addition as it goes instead of waiting until the end:
\begin{footnotesize}\begin{verbatim}
function peasant(left, right)
prod := 0
while (left > 0)
if (left is odd)
prod := prod + right
left := halve(left)
right := double(right)
return prod
\end{verbatim}\end{footnotesize}
It is amazing, and humbling, to think that modern computers owe a four-thousand year old debt to those ancient mathematicians.
\end {small} \end{document}
编辑:感谢您提及抽认卡,但它并没有达到我想要的效果。我想要连续的格式,而不是单独的正面和背面。我想要五张卡片,而不是四张,因为我预计会制作很多卡片,这意味着我必须旋转文本。
我正在考虑以某种方式格式化一张卡片,正面和背面,使用 3x5 页面大小,在 PostScript 中捕获输出,并使用 PostScript 打印 5 张卡片。但我对 PostScript 也不太了解。
欢迎任何建议。
答案1
我最近想做类似的事情:制作 a5 卡片,但打印在 a4 纸上,将 a5 页面对齐,这样第 2 页位于第 1 页的背面,依此类推。包装pgfpages
是几乎我想这样做,但它一次只能处理一个物理页面。
所以我破解了它。
结果是一个我富有想象力地称之为pgfmorepages
(加拿大运输安全局和github) 可以一次处理多个物理页面。它的逻辑与pgfpages
:将一定数量的页面聚集到一组盒子中,然后根据模板将它们分发到物理页面上相同。不同之处在于,在分发过程中,它可以将它们放在多个物理页面上。
因此,对于您的索引卡,我们首先收集十“逻辑”页面,然后将它们放在两个物理页面上,以便它们具有正确的布局,并且第 2 页位于第 1 页的背面,依此类推。
相关布局已经是包的一部分。将其放在与文件相同的目录中,示例如下:
\documentclass{article}
\usepackage[paperheight=4.75in,paperwidth=2.75in]{geometry}
\usepackage{pgfmorepages}
\usepackage{lipsum}
\pgfpagesuselayout{5 index cards}[a4paper]
\begin{document}
\small
\lipsum[1-20]
\end{document}
请注意,索引卡的大小是使用 geometry 包设置的,因此 TeX 认为页面的大小与索引卡的大小相同。a4paper
布局选项说明了真实的页面大小为。
编译后,我得到以下内容: