%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% $Id: papercdcase.dtx 11 2006-08-07 11:54:04Z tdussa $ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \def\SVNMisc$#1: #2 #3${#2} \def\SVNDate$#1: #2-#3-#4 #5${#2/#3/#4} \def\filename{papercdcase.dtx} \xdef\fileversion{\SVNMisc$Revision: 11 $} \xdef\filedate{\SVNDate$Date: 2006-08-07 13:54:04 +0200 (Mon, 07 Aug 2006) $} \let\docversion=\fileversion \let\docdate=\filedate %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %\iffalse \typeout{% %% Purpose: Package: papercdcase \filedate\space\fileversion\space for typesetting paper CD cases. }% %% %% Documentation: %% The documentation can be generated from the original file %% papercdcase.dtx with the doc style/package. LaTeX the file %% papercdcase.dtx to get the full documentation in dvi format. %% %% %% Author: Tobias Dussa %% Im Schlossfeld 4 %% 77855 Achern %% Mail: tdussa@sdhs.de %% %% Copyright (C) 2006 Tobias Dussa %% %% papercdcase.dtx is distributed in hopes that it will be useful, %% but WITHOUT ANY WARRANTY. No author or distributor accepts %% responsibility to anyone for the consequences of using it or for %% whether it serves any particular purpose or works at all, unless %% he says so in writing. %% %% Everyone is granted permission to copy, modify and redistribute %% papercdcase.dtx, provided this copyright notice is preserved and %% any modifications are indicated. %% %% %% This style is still under development and may be replaced with a %% new version which provides an enhanced functionality. %% %<*driver> \documentclass{ltxdoc} \EnableCrossrefs \CodelineIndex \RecordChanges \setcounter{IndexColumns}2 \begin{document} \DocInput{papercdcase.dtx} \newpage \PrintChanges \end{document} % %\fi % % \title{A \LaTeX\ Package for Typesetting\\ Paper CD % Cases\thanks{This file documents \filename\ version % \fileversion\ as of \filedate.}} % \author{Tobias Dussa\\ % Im Schlo\ss{}feld 4\\ % 77855 Achern (Germany)\\ % e-mail: \verb~tdussa@sdhs.de~} % % \date{{\footnotesize Documentation date: \docdate}} % % \maketitle % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % % \DoNotIndex{\ ,\",\',\.,\[,\\,\],\^,\`,\~,\@,\@dottedtocline} % \DoNotIndex{\@empty,\@nameuse,\advance,\begin,\begingroup} % \DoNotIndex{\catcode,\def,\else,\end,\endgroup,\fi,\filedate} % \DoNotIndex{\footnotesize,\framebox,\gdef,\hfill,\if,\ifx,\let,\makebox} % \DoNotIndex{\mbox,\newcommand,\newcount,\newdimen,\newenvironment} % \DoNotIndex{\newif,\noindent,\normalsize,\null,\par,\put} % \DoNotIndex{\relax,\rm,\rule,\scriptsize,\sf,\textsf,\textwidth} % \DoNotIndex{\the,\unitlength,\uppercase,\xdef,\ProvidesPackage} % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % % \changes{1.0}{2006/06/06}{First release.} % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % \CheckSum{649} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% \CharacterTable %% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z %% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z %% Digits \0\1\2\3\4\5\6\7\8\9 %% Exclamation \! Double quote \" Hash (number) \# %% Dollar \$ Percent \% Ampersand \& %% Acute accent \' Left paren \( Right paren \) %% Asterisk \* Plus \+ Comma \, %% Minus \- Point \. Solidus \/ %% Colon \: Semicolon \; Less than \< %% Equals \= Greater than \> Question mark \? %% Commercial at \@ Left bracket \[ Backslash \\ %% Right bracket \] Circumflex \^ Underscore \_ %% Grave accent \` Left brace \{ Vertical bar \| %% Right brace \} Tilde \~} %% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % \MakeShortVerb{|} % % \begin{abstract} % papercdcase.dtx provides a package to typeset paper CD cases. % The paper CD cases are origami-style CD cases which, when % properly folded, provided a simple, inexpensive, and readily % reproducable CD protection. This package creates the proper % folding lines on one hand, but on the other hand also provides % a means of putting material like CD titles, CD track lists, and % so on into the proper places so that it will come out just % right when printed and folded. % % The package is based with friendly permission on the work of % Thomas Hull (\verb!http://web.merrimack.edu/~thull!) as well % as the project of the folks at \verb!http://www.papercdcase.com!. % % Any comments, corrections and so on are greatly appreciated. % \end{abstract} % % \tableofcontents % \newpage % % \section{About Paper CD Cases} % % Paper CD cases are a very convenient way to protect your CDs. % While they are not as sturdy as plastic cases, they are % inexpensive, simple, easily reproducable, yet astonishingly % sturdy. % % The idea is based on origami, the Japanese art of paper folding, % and has been developed by Thomas Hull % (\verb!http://web.merrimack.edu/~thull!) and further elaborated % on by the folks at \verb!http://www.papercdcase.com!. Many % thanks to them all for their kind permission to use their work in % this package. % % Obviously, the way a paper CD case needs to be folded is somewhat % dependent on the actual physical size of the sheet of paper it is % printed on. In general, there are two standard paper sizes that % lend themselves for this purpose: A4 and letter. % % The problem is that for a paper CD case, the difference in paper % height between a sheet of A4 paper ($296.9\,\hbox{mm}$) and a % sheet of letter paper ($11''$) is actually significant. While it % is possible to use the folding scheme designed for letter paper % on an A4 sheet of paper, this does have some drawbacks: It is % necessary to fold over a thin strip of paper just % $17.5\,\hbox{mm}$ or about $\frac{11}{16}''$ wide, which turn out % to be a bit difficult to fold. Furthermore, paper CD cases based % on this folding scheme are a bit less sturdy than % they could be.\\ % On the other hand, a folding scheme that makes optimal use of an % entire A4 sheet of paper cannot be used on letter paper, because % letter paper is too short. % % For these reasons, two folding schemes are provided: A universal % scheme that fits both on letter and on A4 paper, if somewhat % imperfectly on the latter, and a specialized folding scheme that % perfectly fits on A4 paper. % % The general paper CD cases that are produced are carefully sized % so that they fit on a (hypothetical) piece of paper % $210\,\hbox{mm}$ wide (A4 width) and $11''$ tall (letter height). % In other words, the smaller edges of both paper sizes have been % used to target the size of the paper case. This means that on % either paper, there will be some excess space along one of the % axes. % % \section{What the Package Provides} % % In creating paper CD cases, there are three things of interest: % \begin{enumerate} % \item the folding scheme (the paper case itself, if you will), % \item textual information that may or may not be desired on the % finished case, and % \item the placement of both of the above elements on the physical % piece of paper. % \end{enumerate} % % This package provides means to generate the proper folding scheme % as well as provisions for some useful text boxes that are placed % correctly within the folding layout so that their contents appear % in the proper places when the paper case is folded. % % This package does \emph{not} provide an automatism to place the % folding scheme and the text boxes on the physical page. While % the text boxes \emph{are} placed properly by the package, this % placement is merely relative to the folding scheme. It is up to % the user to decide on what paper she wants to actually print the % paper case. This means in particular that the user is % responsible for centering the paper case on the sheet if this is % desired, and that things like page numbers and so on must be % dealt with by the user. % % However, this offers some flexibility that is worth the minor % overhead nuisance of centering a box on a page. % % \subsection{The Folding Scheme}\label{sec:scheme} % % \DescribeMacro{\papercdcase}% % Typesetting the folding scheme itself is fairly straightforward: % Simply issue the proper command: % \begin{verbatim} % \papercdcase % \end{verbatim} % This command will produce the folding scheme, consisting of % \begin{itemize} % \item solid lines, % \item dashed lines, and % \item numbers. % \end{itemize} % The numbers define the \emph{sequence} in which the folding steps % should be carried out, while the types of lines specify % \emph{how} the paper should be folded. More details on the % folding procedure can be found in section~\ref{sec:folding}. % % \DescribeMacro{\papercdcase[]} % The folding scheme is conveniently sized so that the finished % paper case will hold a standard $120\,\hbox{mm}$ CD. However, % there are also smaller $80\,\hbox{mm}$ so-called Maxi CDs. In % order to create a folding scheme that is scaled so that the % folded case will hold a small, $80\,\hbox{mm}$ CD, just add a % parameter to the command above, specifying that you would like a % folding scheme for an $80\,\hbox{mm}$ CD case by use of the % optional size parameter: % \begin{verbatim} % \papercdcase[80] % \end{verbatim} % In fact, you can scale the folding scheme to any size you want, % measured in whole millimeters, by replacing the \texttt{80} in % the call above by the desired design size in millimeters. % % \DescribeMacro{\papercdcase*} % As mentioned in the introduction, there are two kinds of folding % schemes: One that is designed to fit both A4 and letter sheets of % paper, and one that is designed to fit A4 paper perfectly. The % commands above all produce the general version. If you are using % A4 paper are would like to use the A4-optimized folding scheme, % use the starred version of the command instead: % \begin{verbatim} % \papercdcase* % \papercdcase*[80] % \end{verbatim} % % \subsection{The Text Boxes}\label{sec:boxes} % % This package offers four boxes that are put into predefined % places: % \begin{itemize} % \item A spine matter box, % \item a latch matter box, % \item a back matter box, and % \item a pouch matter box. % \end{itemize} % % The spine matter box is centered horizontally and vertically on % the spine of the CD case. Typically, this box holds the CD title % and the artist for an audio CD. % % The latch matter box is printed in the top left-hand corner of % the CD case latch. Again, this box typically contains the CD % title. % % The back matter box is printed in the top left-hand corner of the % back of the CD case. A typical use for this box is the track % list of an audio CD. % % Finally, the pouch matter box is printed in the top left-hand % corner of the CD case pouch, just below the latch. This box is % typically unused, but may be useful for some additional % information. % % \DescribeMacro{\setcdlatchmatter} % \DescribeMacro{\setcdpouchmatter} % \DescribeMacro{\setcdbackmatter} % \DescribeMacro{\setcdspinematter} % In order to fill the boxes, use these commands: % \begin{itemize} % \item |\setcdlatchmatter| % \item |\setcdpouchmatter| % \item |\setcdbackmatter| % \item |\setcdspinematter| % \end{itemize} % % As an example, a typical use of the above commands might look % like this: % \begin{verbatim} % \setcdlatchmatter{\textbf{\LARGE Jean Michel Jarre\\[0.25\baselineskip] % In Concert: Houston--Lyon}} % % \setcdpouchmatter{Live recordings from the legendary concerts in % Houston and Lyon 1986} % % \setcdbackmatter{\textbf{\LARGE Jean Michel Jarre\\[0.25\baselineskip] % In Concert: Houston--Lyon} % \begin{enumerate} % \item Oxygene V % \item Ethnicolor % \item Magnetic Fields I % \item Souvenir (Of China) % \item Equinoxe V % \item Rendez-Vous III (Laser Harp) % \item Rendez-Vous II % \item Ron's Piece % \item Rendez-Vous IV % \end{enumerate}} % % \setcdspinematter{\textbf{\Large Jean Michel Jarre/In Concert: % Houston--Lyon}} % \end{verbatim} % % Be aware that the text boxes must be filled with the above % commands \emph{before} the folding scheme is typeset with the % \verb~\papercdcase~ command. % % \subsection{The Placement on Physical Paper}\label{sec:placement} % % As mentioned before, there is no automatic procedure provided by % the package that automatically places the folding scheme and the % boxes on a physical sheet of paper. This is a conscious design % decision with the aim to maintain a maximum of flexibility. % % Actually positioning the folding scheme on paper is very easy, % though. If you are using either A4 or letter paper, which is % probably the case is more than 99\,\% of all cases, there are % three things to worry about: % \begin{itemize} % \item All margins should be set to zero size, % \item headlines and footlines should be empty, and % \item the folding scheme should be centered horizontally. % Vertical alignment is not as important, because the universal % folding scheme fills up an entire letter-sized page, while the % A4 folding scheme fills up an entire A4 page. Thus, no % vertical adjustments need to be done in these cases.\\ % If the general folding scheme is used on A4 paper, then % obviously, the page is not entirely filled. However, even in % this case, I recommend \emph{not} to do any vertical % adjustments, but rather to leave the top of the folding scheme % aligned with the page edge. This saves one folding % operation. (One might put a \verb~\vspace*{\fill}~ or so at % the beginning of the page, of course, so the bottom of the % folding scheme is flush with the paper edge instead of the top, % but this does not really make a difference in practice.) % \end{itemize} % All of the above points are addressed in this little document, % for instance. This example serves well if letter-sized paper is % used. % \begin{verbatim} % \documentclass{article} % \usepackage[margin=0pt]{geometry} % \usepackage{papercdcase} % \pagestyle{empty} % \begin{document} % \setcdlatchmatter{Latch} % \setcdspinematter{Spine} % \setcdpouchmatter{Pouch} % \setcdbackmatter{Back} % \centering\papercdcase % \end{document} % \end{verbatim} % For A4 paper, the above code also works, but it is necessary to % tell \LaTeX{} to use A4 paper, of course. This may be done by % changing \verb~\usepackage[margin=0pt]{geometry}~ to % \verb~\usepackage[a4paper, margin=0pt]{geometry}~, for example. % Also, it might be desirable to use \verb~\papercdcase*~ instead % of \verb~\papercdcase~. % % \section{Folding the Paper CD Case}\label{sec:folding} % % Folding the printed paper CD case is quite simple, but requires a % bit of practice. In principle, all necessary information is % provided on the printout. % % In general, the numbers next to the lines specify the sequence in % which the folding should take place. If a number is next to a % \emph{solid} line, fold \emph{along} the line so that the crease % runs along and over the line. If a number is next to a % \emph{dashed} line, however, turn the sheet so that the number is % the right way up, then fold the sheet so that the paper edge % closest to you ends up aligned with the dashed line. Think of % the dashed line as a folding ``target''. % % Be aware that the first few folds might be unnecessary. This is % the case whenever a folding line is aligned with a paper edge % already. This will happen every time the folding scheme fills % out the entire sheet, in other words, whenever the universal % folding scheme is printed on letter paper or the A4 folding % scheme is printed on A4 paper. However, even if the universal % folding scheme is printed on A4 paper, one edge of the scheme may % well already be aligned with the corresponding paper edge. This % is no problem, but it means that neither the folding line(s) nor % the corresponding sequence number(s) will be there, so you might % have to start the folding sequence with step number~2 or~3 % or even start with step number~1 and skip step number~2!\\ % Generally, start with the lowest number found on the printout and % work your way up the numbers that are present. % % The tricky folds are steps number~8 and~9 as well as numbers~10 % and~11. You will need to fold little triangular ears towards you % so the pouch is formed and stabilized. I am afraid that accurately % describing exactly how the folding works in an appropriate amount % of words is beyond me, so please refer to % \verb!http://web.merrimack.edu/~thull! and/or % \verb!http://www.papercdcase.com! for more detailed, excellent % instruction on how to fold a paper CD case. In particular, a PDF % with graphical instructions can be found at % \verb!http://kahuna.merrimack.edu/~thull/CDcase/cd.pdf!. % % % \section{Example Files} % % I have included some example files with this package that hopefully % give an insight into how this package may be used. In particular, % I included a minimal example showing just the very basics in this % documentation, a little interactive example that lets you create CD % cases on the fly, and a more elaborate example which is pretty much % what I am using right now for my own purposes. Maybe some of the % included files will provide clues on how to use this package. % % \StopEventually{} % \newpage % % % \section{The Implementation} % % The folding scheme is basically implemented with the \LaTeX{} % picture environment. This gives us enough flexibility and % provides an high enough abraction such that we do not have to % fiddle around with to many low level details. % % Additional functionality is required for rotating the label % boxes; thus, the \verb~graphicx~ package is included. % % \subsection{Basic Definitions and Parameters} % % First we identify this package and make sure we are talking % \LaTeX2e{}. Furthermore, we load the \verb~graphicx~ and % \verb~calc~ packages and make the \verb~@~ character available % for internal command definitions. % % \begin{macrocode} \ProvidesPackage{papercdcase}[\filedate v.\fileversion{} Paper CD Case Style (TD)] \NeedsTeXFormat{LaTeX2e} \RequirePackage{graphicx} \RequirePackage{calc} \makeatletter % \end{macrocode} % % \subsection{User Interface Functions} % % The actual text boxes that are typeset on the latch, on the % spine, on the back and on the pouch of the CD case are kept in % internal macros. % \begin{macrocode} \newcommand{\@PCDC@Latch@Matter}{} \newcommand{\@PCDC@Pouch@Matter}{} \newcommand{\@PCDC@Back@Matter}{} \newcommand{\@PCDC@Spine@Matter}{} % \end{macrocode} % % Four functions which basically put their argument into the % appropriate internal box definition. % \begin{macro}{\setcdlatchmatter} % Interface function for the latch matter: % \begin{macrocode} \newcommand{\setcdlatchmatter}[1]{\renewcommand{\@PCDC@Latch@Matter}{#1}} % \end{macrocode} % \end{macro} % % \begin{macro}{\setcdpouchmatter} % Interface function for the pouch matter: % \begin{macrocode} \newcommand{\setcdpouchmatter}[1]{\renewcommand{\@PCDC@Pouch@Matter}{#1}} % \end{macrocode} % \end{macro} % % \begin{macro}{\setcdpouchmatter} % Interface function for the back matter: % \begin{macrocode} \newcommand{\setcdbackmatter}[1]{\renewcommand{\@PCDC@Back@Matter}{#1}} % \end{macrocode} % \end{macro} % % \begin{macro}{\setcdpouchmatter} % Interface function for the spine matter: % \begin{macrocode} \newcommand{\setcdspinematter}[1]{\renewcommand{\@PCDC@Spine@Matter}{#1}} % \end{macrocode} % \end{macro} % % \begin{macro}{\papercdcase} % The macro |\papercdcase| is the main command provided by the % package. The macro typesets the actual folding scheme, complete % with all specified text boxes. It is defined so that if its % starred version |\papercdcase*| is invoked, the folding scheme is % adjusted for A4 paper; otherwise, letter paper is designed for. % (The adjustments of the folding scheme are done by resetting the % relevant counters, |@PCDC@Design@Height| and |@PCDC@Pouch@Height|.) % \begin{macrocode} % Main user macro; actually typesets the paper CD case. \DeclareRobustCommand{\papercdcase}{% \@ifstar% {\setcounter{@PCDC@Design@Height}{297}\setcounter{@PCDC@Pouch@Height}{75}\@PCDC@Typeset@Scheme}% {\setcounter{@PCDC@Design@Height}{279}\setcounter{@PCDC@Pouch@Height}{64}\@PCDC@Typeset@Scheme}} % \end{macrocode} % \end{macro} % % \subsection{Counters} % % Throughout the package, counters are used to compute the correct % locations of the various folding marks, boxes and so on. Some of % these counters control the exact layout of the folding scheme, % while all the others depend on the values of the control % counters. Consequently, all counters can be defined right away, % but most of the counters cannot sensibly be set at this point. % % For readability and conciseness of the code, several % abbreviations are used with the counter names: % \begin{itemize} % \item The letters \verb~A~ through \verb~M~ are used to designate % the fold numbers 1 through 13. % \item \verb~Btm~ is used for \verb~Bottom~. % \item \verb~Lft~ and \verb~Rgt~ are used for \verb~Left~ and % \verb~Right~, respectively. % \item \verb~Upr~ and \verb~Lwr~ are used for \verb~Upper~ and % \verb~Lower~, respectively. % \end{itemize} % These abbreviations make the code easier to read, IMHO, because % they allow many sequences of commands to be aligned horizontally, % making structures much easier to recognize. % % \subsubsection{Control Counters} % % There are eight counters that control the design of the folding % scheme. These eight counters are defined first. % \begin{macrocode} %% Control counters. %% Overall height of the folding scheme. \newcounter{@PCDC@Design@Height} %% Height of the CD pouch. \newcounter{@PCDC@Pouch@Height} %% Height (and width) of the folded paper CD case. \newcounter{@PCDC@Back@Height} %% Height of the CD case spine. \newcounter{@PCDC@Spine@Height} %% Margin between the text boxes and the edge of the CD case. \newcounter{@PCDC@Text@Margin} %% Length of regular fold marks. \newcounter{@PCDC@Fold@Length} %% Length of short fold marks. \newcounter{@PCDC@Fold@Short@Length} %% Space between fold marks and their labels. \newcounter{@PCDC@Label@Sep} % \end{macrocode} % % We also set these counters to some sensible values right away. % \begin{macrocode} \setcounter{@PCDC@Design@Height}{279} \setcounter{@PCDC@Pouch@Height}{64} \setcounter{@PCDC@Back@Height}{125} \setcounter{@PCDC@Spine@Height}{8} \setcounter{@PCDC@Text@Margin}{5} \setcounter{@PCDC@Fold@Length}{25} \setcounter{@PCDC@Fold@Short@Length}{20} \setcounter{@PCDC@Label@Sep}{1} % \end{macrocode} % % \subsubsection{General Coordinate Counters} % % Some of the other counters are used to hold coordinates that are % shared by many fold marks so that is seems worth while to keep % them in their own counters. % \begin{macrocode} %% Common counters. \newcounter{@PCDC@Design@width} \newcounter{@PCDC@Top@Lft@Fold} \newcounter{@PCDC@Top@Rgt@Fold} \newcounter{@PCDC@Bot@Lft@Fold} \newcounter{@PCDC@Bot@Rgt@Fold} \newcounter{@PCDC@Lwr@Top@Fold} \newcounter{@PCDC@Upr@Top@Fold} \newcounter{@PCDC@Bot@Fold} \newcounter{@PCDC@Text@width} \newcounter{@PCDC@Fold@Dash@Number} % \end{macrocode} % % \subsubsection{Folding Mark Coordinate Counters} % % In this section, we define the counters for the actual % coordinates of the folding marks. % \begin{macrocode} %% Counters with the actual coordinates of the folding marks. \newcounter{@PCDC@Fold@A@Lft@X} \newcounter{@PCDC@Fold@A@Lft@Y} \newcounter{@PCDC@Fold@A@Rgt@X} \newcounter{@PCDC@Fold@A@Rgt@Y} \newcounter{@PCDC@Fold@B@Lft@X} \newcounter{@PCDC@Fold@B@Lft@Y} \newcounter{@PCDC@Fold@B@Rgt@X} \newcounter{@PCDC@Fold@B@Rgt@Y} \newcounter{@PCDC@Fold@C@Top@X} \newcounter{@PCDC@Fold@C@Top@Y} \newcounter{@PCDC@Fold@C@Bot@X} \newcounter{@PCDC@Fold@C@Bot@Y} \newcounter{@PCDC@Fold@D@Top@X} \newcounter{@PCDC@Fold@D@Top@Y} \newcounter{@PCDC@Fold@D@Bot@X} \newcounter{@PCDC@Fold@D@Bot@Y} \newcounter{@PCDC@Fold@E@Lft@X} \newcounter{@PCDC@Fold@E@Lft@Y} \newcounter{@PCDC@Fold@E@Rgt@X} \newcounter{@PCDC@Fold@E@Rgt@Y} \newcounter{@PCDC@Fold@F@Lft@X} \newcounter{@PCDC@Fold@F@Lft@Y} \newcounter{@PCDC@Fold@F@Rgt@X} \newcounter{@PCDC@Fold@F@Rgt@Y} \newcounter{@PCDC@Fold@G@Lft@X} \newcounter{@PCDC@Fold@G@Lft@Y} \newcounter{@PCDC@Fold@G@Rgt@X} \newcounter{@PCDC@Fold@G@Rgt@Y} \newcounter{@PCDC@Fold@H@X} \newcounter{@PCDC@Fold@H@Y} \newcounter{@PCDC@Fold@I@X} \newcounter{@PCDC@Fold@I@Y} \newcounter{@PCDC@Fold@J@X} \newcounter{@PCDC@Fold@J@Y} \newcounter{@PCDC@Fold@K@X} \newcounter{@PCDC@Fold@K@Y} \newcounter{@PCDC@Fold@L@X} \newcounter{@PCDC@Fold@L@Y} \newcounter{@PCDC@Fold@M@X} \newcounter{@PCDC@Fold@M@Y} % \end{macrocode} % % \subsubsection{Folding Mark Label Coordinate Counters} % % We now define the counters for the actual coordinates of the % folding mark labels. % \begin{macrocode} %% Counters with the actual coordinates of the text boxes. \newcounter{@PCDC@Fold@A@Lft@Label@X} \newcounter{@PCDC@Fold@A@Lft@Label@Y} \newcounter{@PCDC@Fold@A@Rgt@Label@X} \newcounter{@PCDC@Fold@A@Rgt@Label@Y} \newcounter{@PCDC@Fold@B@Lft@Label@X} \newcounter{@PCDC@Fold@B@Lft@Label@Y} \newcounter{@PCDC@Fold@B@Rgt@Label@X} \newcounter{@PCDC@Fold@B@Rgt@Label@Y} \newcounter{@PCDC@Fold@C@Top@Label@X} \newcounter{@PCDC@Fold@C@Top@Label@Y} \newcounter{@PCDC@Fold@C@Bot@Label@X} \newcounter{@PCDC@Fold@C@Bot@Label@Y} \newcounter{@PCDC@Fold@D@Top@Label@X} \newcounter{@PCDC@Fold@D@Top@Label@Y} \newcounter{@PCDC@Fold@D@Bot@Label@X} \newcounter{@PCDC@Fold@D@Bot@Label@Y} \newcounter{@PCDC@Fold@E@Lft@Label@X} \newcounter{@PCDC@Fold@E@Lft@Label@Y} \newcounter{@PCDC@Fold@E@Rgt@Label@X} \newcounter{@PCDC@Fold@E@Rgt@Label@Y} \newcounter{@PCDC@Fold@F@Lft@Label@X} \newcounter{@PCDC@Fold@F@Lft@Label@Y} \newcounter{@PCDC@Fold@F@Rgt@Label@X} \newcounter{@PCDC@Fold@F@Rgt@Label@Y} \newcounter{@PCDC@Fold@G@Lft@Label@X} \newcounter{@PCDC@Fold@G@Lft@Label@Y} \newcounter{@PCDC@Fold@G@Rgt@Label@X} \newcounter{@PCDC@Fold@G@Rgt@Label@Y} \newcounter{@PCDC@Fold@H@Label@X} \newcounter{@PCDC@Fold@H@Label@Y} \newcounter{@PCDC@Fold@I@Label@X} \newcounter{@PCDC@Fold@I@Label@Y} \newcounter{@PCDC@Fold@J@Label@X} \newcounter{@PCDC@Fold@J@Label@Y} \newcounter{@PCDC@Fold@K@Label@X} \newcounter{@PCDC@Fold@K@Label@Y} \newcounter{@PCDC@Fold@L@Label@X} \newcounter{@PCDC@Fold@L@Label@Y} \newcounter{@PCDC@Fold@M@Label@X} \newcounter{@PCDC@Fold@M@Label@Y} % \end{macrocode} % % \subsubsection{Text Box Coordinate Counters} % % As the last counters to be defined, here come the coordinate % counters for the text boxes provided to the user. % \begin{macrocode} %% Counters with the actual coordinates of the text boxes. \newcounter{@PCDC@Pouch@Matter@X} \newcounter{@PCDC@Pouch@Matter@Y} \newcounter{@PCDC@Back@Matter@X} \newcounter{@PCDC@Back@Matter@Y} \newcounter{@PCDC@Spine@Matter@X} \newcounter{@PCDC@Spine@Matter@Y} \newcounter{@PCDC@Latch@Matter@X} \newcounter{@PCDC@Latch@Matter@Y} % \end{macrocode} % % \subsection{Folding Scheme Implementation} % % We now turn to the implementation of the actual folding scheme % typesetting macro. The macro takes an optional parameter that % allows for scaling. The parameter is supposed to contain the % diameter in millimeters of the CD that the CD case is to be % printed for. Therefore, the default value is set to 120, which % is the diameter in millimeters of a normal CD. Another common CD % size is 80 millimeters, which is a maxi CD. % % The macro can broadly be broken into three parts: % \begin{enumerate} % \item The entire scheme is scaled according to the optional CD % size parameter. % \item The actual coordinates are computed and stored in the % proper counters. % \item The folding scheme is typeset and output is generated. % \end{enumerate} % \begin{macrocode} %% The actual output function. \newcommand{\@PCDC@Typeset@Scheme}[1][120]{% %% Scale the output. \setlength{\unitlength}{1mm} \multiply\unitlength by #1 \divide\unitlength by 120 %% %% Compute the actual coordinates. %% Common coordinates. \setcounter{@PCDC@Design@width}{\value{@PCDC@Back@Height}+2*\value{@PCDC@Fold@Length}} \setcounter{@PCDC@Top@Lft@Fold}{\value{@PCDC@Fold@Length}+1} \setcounter{@PCDC@Top@Rgt@Fold}{\value{@PCDC@Fold@Length}+\value{@PCDC@Back@Height}} \setcounter{@PCDC@Bot@Lft@Fold}{\value{@PCDC@Fold@Length}+1} \setcounter{@PCDC@Bot@Rgt@Fold}{\value{@PCDC@Fold@Length}+\value{@PCDC@Back@Height}} \setcounter{@PCDC@Lwr@Top@Fold}{2*\value{@PCDC@Pouch@Height}+2*\value{@PCDC@Back@Height}-\value{@PCDC@Design@Height}} \setcounter{@PCDC@Upr@Top@Fold}{\value{@PCDC@Lwr@Top@Fold}+2*\value{@PCDC@Spine@Height}} \setcounter{@PCDC@Bot@Fold}{2*\value{@PCDC@Pouch@Height}} \setcounter{@PCDC@Text@width}{\value{@PCDC@Back@Height}-2*\value{@PCDC@Text@Margin}} \setcounter{@PCDC@Fold@Dash@Number}{\value{@PCDC@Fold@Length}/2} %% %% Fold mark coordinates. \setcounter{@PCDC@Fold@A@Lft@X}{\value{@PCDC@Top@Lft@Fold}} \setcounter{@PCDC@Fold@A@Lft@Y}{\value{@PCDC@Design@Height}} \setcounter{@PCDC@Fold@A@Rgt@X}{\value{@PCDC@Top@Rgt@Fold}} \setcounter{@PCDC@Fold@A@Rgt@Y}{\value{@PCDC@Design@Height}} \setcounter{@PCDC@Fold@B@Lft@X}{\value{@PCDC@Bot@Lft@Fold}} \setcounter{@PCDC@Fold@B@Lft@Y}{0} \setcounter{@PCDC@Fold@B@Rgt@X}{\value{@PCDC@Bot@Rgt@Fold}} \setcounter{@PCDC@Fold@B@Rgt@Y}{0} \setcounter{@PCDC@Fold@C@Top@X}{\value{@PCDC@Top@Rgt@Fold}} \setcounter{@PCDC@Fold@C@Top@Y}{\value{@PCDC@Design@Height}} \setcounter{@PCDC@Fold@C@Bot@X}{\value{@PCDC@Bot@Rgt@Fold}} \setcounter{@PCDC@Fold@C@Bot@Y}{0} \setcounter{@PCDC@Fold@D@Top@X}{\value{@PCDC@Top@Lft@Fold}} \setcounter{@PCDC@Fold@D@Top@Y}{\value{@PCDC@Design@Height}} \setcounter{@PCDC@Fold@D@Bot@X}{\value{@PCDC@Bot@Lft@Fold}} \setcounter{@PCDC@Fold@D@Bot@Y}{0} \setcounter{@PCDC@Fold@E@Lft@X}{\value{@PCDC@Bot@Lft@Fold}} \setcounter{@PCDC@Fold@E@Lft@Y}{\value{@PCDC@Bot@Fold}} \setcounter{@PCDC@Fold@E@Rgt@X}{\value{@PCDC@Bot@Rgt@Fold}} \setcounter{@PCDC@Fold@E@Rgt@Y}{\value{@PCDC@Bot@Fold}} \setcounter{@PCDC@Fold@F@Lft@X}{\value{@PCDC@Bot@Lft@Fold}} \setcounter{@PCDC@Fold@F@Lft@Y}{\value{@PCDC@Lwr@Top@Fold}} \setcounter{@PCDC@Fold@F@Rgt@X}{\value{@PCDC@Bot@Rgt@Fold}} \setcounter{@PCDC@Fold@F@Rgt@Y}{\value{@PCDC@Lwr@Top@Fold}} \setcounter{@PCDC@Fold@G@Lft@X}{\value{@PCDC@Bot@Lft@Fold}} \setcounter{@PCDC@Fold@G@Lft@Y}{\value{@PCDC@Upr@Top@Fold}} \setcounter{@PCDC@Fold@G@Rgt@X}{\value{@PCDC@Bot@Rgt@Fold}} \setcounter{@PCDC@Fold@G@Rgt@Y}{\value{@PCDC@Upr@Top@Fold}} \setcounter{@PCDC@Fold@H@X}{\value{@PCDC@Bot@Rgt@Fold}} \setcounter{@PCDC@Fold@H@Y}{\value{@PCDC@Pouch@Height}} \setcounter{@PCDC@Fold@I@X}{\value{@PCDC@Bot@Rgt@Fold}} \setcounter{@PCDC@Fold@I@Y}{\value{@PCDC@Pouch@Height}} \setcounter{@PCDC@Fold@J@X}{\value{@PCDC@Bot@Lft@Fold}} \setcounter{@PCDC@Fold@J@Y}{\value{@PCDC@Pouch@Height}} \setcounter{@PCDC@Fold@K@X}{\value{@PCDC@Bot@Lft@Fold}} \setcounter{@PCDC@Fold@K@Y}{\value{@PCDC@Pouch@Height}} \setcounter{@PCDC@Fold@L@X}{\value{@PCDC@Top@Rgt@Fold}} \setcounter{@PCDC@Fold@L@Y}{\value{@PCDC@Design@Height}-\value{@PCDC@Fold@Short@Length}} \setcounter{@PCDC@Fold@M@X}{\value{@PCDC@Top@Lft@Fold}} \setcounter{@PCDC@Fold@M@Y}{\value{@PCDC@Design@Height}-\value{@PCDC@Fold@Short@Length}} %% %% Fold mark label coordinates. \setcounter{@PCDC@Fold@A@Lft@Label@X}{\value{@PCDC@Fold@A@Lft@X}-\value{@PCDC@Label@Sep}} \setcounter{@PCDC@Fold@A@Lft@Label@Y}{\value{@PCDC@Fold@A@Lft@Y}+\value{@PCDC@Label@Sep}} \setcounter{@PCDC@Fold@A@Rgt@Label@X}{\value{@PCDC@Fold@A@Rgt@X}+\value{@PCDC@Label@Sep}} \setcounter{@PCDC@Fold@A@Rgt@Label@Y}{\value{@PCDC@Fold@A@Rgt@Y}+\value{@PCDC@Label@Sep}} \setcounter{@PCDC@Fold@B@Lft@Label@X}{\value{@PCDC@Fold@B@Lft@X}-\value{@PCDC@Label@Sep}} \setcounter{@PCDC@Fold@B@Lft@Label@Y}{\value{@PCDC@Fold@B@Lft@Y}-\value{@PCDC@Label@Sep}} \setcounter{@PCDC@Fold@B@Rgt@Label@X}{\value{@PCDC@Fold@B@Rgt@X}+\value{@PCDC@Label@Sep}} \setcounter{@PCDC@Fold@B@Rgt@Label@Y}{\value{@PCDC@Fold@B@Rgt@Y}-\value{@PCDC@Label@Sep}} \setcounter{@PCDC@Fold@C@Top@Label@X}{\value{@PCDC@Fold@C@Top@X}+\value{@PCDC@Label@Sep}} \setcounter{@PCDC@Fold@C@Top@Label@Y}{\value{@PCDC@Fold@C@Top@Y}-\value{@PCDC@Fold@Length}+\value{@PCDC@Label@Sep}} \setcounter{@PCDC@Fold@C@Bot@Label@X}{\value{@PCDC@Fold@C@Bot@X}+\value{@PCDC@Label@Sep}} \setcounter{@PCDC@Fold@C@Bot@Label@Y}{\value{@PCDC@Fold@C@Bot@Y}+\value{@PCDC@Fold@Length}-\value{@PCDC@Label@Sep}} \setcounter{@PCDC@Fold@D@Top@Label@X}{\value{@PCDC@Fold@D@Top@X}-\value{@PCDC@Label@Sep}} \setcounter{@PCDC@Fold@D@Top@Label@Y}{\value{@PCDC@Fold@D@Top@Y}-\value{@PCDC@Fold@Length}+\value{@PCDC@Label@Sep}} \setcounter{@PCDC@Fold@D@Bot@Label@X}{\value{@PCDC@Fold@D@Bot@X}-\value{@PCDC@Label@Sep}} \setcounter{@PCDC@Fold@D@Bot@Label@Y}{\value{@PCDC@Fold@D@Bot@Y}+\value{@PCDC@Fold@Length}-\value{@PCDC@Label@Sep}} \setcounter{@PCDC@Fold@E@Lft@Label@X}{\value{@PCDC@Fold@E@Lft@X}-\value{@PCDC@Label@Sep}} \setcounter{@PCDC@Fold@E@Lft@Label@Y}{\value{@PCDC@Fold@E@Lft@Y}-\value{@PCDC@Label@Sep}} \setcounter{@PCDC@Fold@E@Rgt@Label@X}{\value{@PCDC@Fold@E@Rgt@X}+\value{@PCDC@Label@Sep}} \setcounter{@PCDC@Fold@E@Rgt@Label@Y}{\value{@PCDC@Fold@E@Rgt@Y}-\value{@PCDC@Label@Sep}} \setcounter{@PCDC@Fold@F@Lft@Label@X}{\value{@PCDC@Fold@F@Lft@X}-\value{@PCDC@Label@Sep}} \setcounter{@PCDC@Fold@F@Lft@Label@Y}{\value{@PCDC@Fold@F@Lft@Y}+\value{@PCDC@Label@Sep}} \setcounter{@PCDC@Fold@F@Rgt@Label@X}{\value{@PCDC@Fold@F@Rgt@X}+\value{@PCDC@Label@Sep}} \setcounter{@PCDC@Fold@F@Rgt@Label@Y}{\value{@PCDC@Fold@F@Rgt@Y}+\value{@PCDC@Label@Sep}} \setcounter{@PCDC@Fold@G@Lft@Label@X}{\value{@PCDC@Fold@G@Lft@X}-\value{@PCDC@Label@Sep}} \setcounter{@PCDC@Fold@G@Lft@Label@Y}{\value{@PCDC@Fold@G@Lft@Y}+\value{@PCDC@Label@Sep}} \setcounter{@PCDC@Fold@G@Rgt@Label@X}{\value{@PCDC@Fold@G@Rgt@X}+\value{@PCDC@Label@Sep}} \setcounter{@PCDC@Fold@G@Rgt@Label@Y}{\value{@PCDC@Fold@G@Rgt@Y}+\value{@PCDC@Label@Sep}} \setcounter{@PCDC@Fold@H@Label@X}{\value{@PCDC@Fold@H@X}+5*\value{@PCDC@Label@Sep}} \setcounter{@PCDC@Fold@H@Label@Y}{\value{@PCDC@Fold@H@Y}+4*\value{@PCDC@Label@Sep}} \setcounter{@PCDC@Fold@I@Label@X}{\value{@PCDC@Fold@I@X}+5*\value{@PCDC@Label@Sep}} \setcounter{@PCDC@Fold@I@Label@Y}{\value{@PCDC@Fold@I@Y}-6*\value{@PCDC@Label@Sep}} \setcounter{@PCDC@Fold@J@Label@X}{\value{@PCDC@Fold@J@X}-5*\value{@PCDC@Label@Sep}} \setcounter{@PCDC@Fold@J@Label@Y}{\value{@PCDC@Fold@J@Y}+4*\value{@PCDC@Label@Sep}} \setcounter{@PCDC@Fold@K@Label@X}{\value{@PCDC@Fold@K@X}-5*\value{@PCDC@Label@Sep}} \setcounter{@PCDC@Fold@K@Label@Y}{\value{@PCDC@Fold@K@Y}-6*\value{@PCDC@Label@Sep}} \setcounter{@PCDC@Fold@L@Label@X}{\value{@PCDC@Fold@L@X}+5*\value{@PCDC@Label@Sep}} \setcounter{@PCDC@Fold@L@Label@Y}{\value{@PCDC@Fold@L@Y}+4*\value{@PCDC@Label@Sep}} \setcounter{@PCDC@Fold@M@Label@X}{\value{@PCDC@Fold@M@X}-5*\value{@PCDC@Label@Sep}} \setcounter{@PCDC@Fold@M@Label@Y}{\value{@PCDC@Fold@M@Y}+4*\value{@PCDC@Label@Sep}} %% %% Text box coordinates. \setcounter{@PCDC@Pouch@Matter@X}{\value{@PCDC@Fold@Length}+\value{@PCDC@Text@Margin}} \setcounter{@PCDC@Pouch@Matter@Y}{\value{@PCDC@Text@Margin}} \setcounter{@PCDC@Back@Matter@X}{\value{@PCDC@Fold@Length}+\value{@PCDC@Text@Margin}} \setcounter{@PCDC@Back@Matter@Y}{\value{@PCDC@Pouch@Height}+\value{@PCDC@Back@Height}-\value{@PCDC@Text@Margin}} \setcounter{@PCDC@Spine@Matter@X}{\value{@PCDC@Fold@Length}+\value{@PCDC@Back@Height}/2} \setcounter{@PCDC@Spine@Matter@Y}{\value{@PCDC@Back@Matter@Y}+\value{@PCDC@Spine@Height}/2+\value{@PCDC@Text@Margin}} \setcounter{@PCDC@Latch@Matter@X}{\value{@PCDC@Fold@Length}+\value{@PCDC@Text@Margin}} \setcounter{@PCDC@Latch@Matter@Y}{\value{@PCDC@Spine@Matter@Y}+\value{@PCDC@Spine@Height}/2+\value{@PCDC@Text@Margin}} %% %% Typeset the folding scheme \begin{picture}(\value{@PCDC@Design@width}, \value{@PCDC@Design@Height}) %% Fold mark 1, left \put(\value{@PCDC@Fold@A@Lft@X}, \value{@PCDC@Fold@A@Lft@Y}){\line(-1, 0){\value{@PCDC@Fold@Length}}} \put(\value{@PCDC@Fold@A@Lft@Label@X}, \value{@PCDC@Fold@A@Lft@Label@Y}){\makebox(0, 0)[br]{\rotatebox{180}{1}}} %% %% Fold mark 1, right \put(\value{@PCDC@Fold@A@Rgt@X}, \value{@PCDC@Fold@A@Rgt@Y}){\line(1, 0){\value{@PCDC@Fold@Length}}} \put(\value{@PCDC@Fold@A@Rgt@Label@X}, \value{@PCDC@Fold@A@Rgt@Label@Y}){\makebox(0, 0)[bl]{\rotatebox{180}{1}}} %% %% Fold mark 2, left \put(\value{@PCDC@Fold@B@Lft@X}, \value{@PCDC@Fold@B@Lft@Y}){\line(-1, 0){\value{@PCDC@Fold@Length}}} \put(\value{@PCDC@Fold@B@Lft@Label@X}, \value{@PCDC@Fold@B@Lft@Label@Y}){\makebox(0, 0)[tr]{2}} %% %% Fold mark 2, right \put(\value{@PCDC@Fold@B@Rgt@X}, \value{@PCDC@Fold@B@Rgt@Y}){\line(1, 0){\value{@PCDC@Fold@Length}}} \put(\value{@PCDC@Fold@B@Rgt@Label@X}, \value{@PCDC@Fold@B@Rgt@Label@Y}){\makebox(0, 0)[tl]{2}} %% %% Fold mark 3, top \put(\value{@PCDC@Fold@C@Top@X}, \value{@PCDC@Fold@C@Top@Y}){\line(0, -1){\value{@PCDC@Fold@Length}}} \put(\value{@PCDC@Fold@C@Top@Label@X}, \value{@PCDC@Fold@C@Top@Label@Y}){\makebox(0, 0)[bl]{\rotatebox{90}{3}}} %% %% Fold mark 3, bottom \put(\value{@PCDC@Fold@C@Bot@X}, \value{@PCDC@Fold@C@Bot@Y}){\line(0, 1){\value{@PCDC@Fold@Length}}} \put(\value{@PCDC@Fold@C@Bot@Label@X}, \value{@PCDC@Fold@C@Bot@Label@Y}){\makebox(0, 0)[tl]{\rotatebox{90}{3}}} %% %% Fold mark 4, top \put(\value{@PCDC@Fold@D@Top@X}, \value{@PCDC@Fold@D@Top@Y}){\line(0, -1){\value{@PCDC@Fold@Length}}} \put(\value{@PCDC@Fold@D@Top@Label@X}, \value{@PCDC@Fold@D@Top@Label@Y}){\makebox(0, 0)[br]{\rotatebox{270}{4}}} %% %% Fold mark 4, bottom \put(\value{@PCDC@Fold@D@Bot@X}, \value{@PCDC@Fold@D@Bot@Y}){\line(0, 1){\value{@PCDC@Fold@Length}}} \put(\value{@PCDC@Fold@D@Bot@Label@X}, \value{@PCDC@Fold@D@Bot@Label@Y}){\makebox(0, 0)[tr]{\rotatebox{270}{4}}} %% %% Fold mark 5, left \multiput(\value{@PCDC@Fold@E@Lft@X}, \value{@PCDC@Fold@E@Lft@Y})(-2, 0){\value{@PCDC@Fold@Dash@Number}}{\line(-1, 0){1}} \put(\value{@PCDC@Fold@E@Lft@Label@X}, \value{@PCDC@Fold@E@Lft@Label@Y}){\makebox(0, 0)[tr]{5 (bottom)}} %% %% Fold mark 5, right \multiput(\value{@PCDC@Fold@E@Rgt@X}, \value{@PCDC@Fold@E@Rgt@Y})(2, 0){\value{@PCDC@Fold@Dash@Number}}{\line(1, 0){1}} \put(\value{@PCDC@Fold@E@Rgt@Label@X}, \value{@PCDC@Fold@E@Rgt@Label@Y}){\makebox(0, 0)[tl]{5 (bottom)}} %% %% Fold mark 6, left \multiput(\value{@PCDC@Fold@F@Lft@X}, \value{@PCDC@Fold@F@Lft@Y})(-2, 0){\value{@PCDC@Fold@Dash@Number}}{\line(-1, 0){1}} \put(\value{@PCDC@Fold@F@Lft@Label@X}, \value{@PCDC@Fold@F@Lft@Label@Y}){\makebox(0, 0)[br]{\rotatebox{180}{6 (top)}}} %% %% Fold mark 6, right \multiput(\value{@PCDC@Fold@F@Rgt@X}, \value{@PCDC@Fold@F@Rgt@Y})(2, 0){\value{@PCDC@Fold@Dash@Number}}{\line(1, 0){1}} \put(\value{@PCDC@Fold@F@Rgt@Label@X}, \value{@PCDC@Fold@F@Rgt@Label@Y}){\makebox(0, 0)[bl]{\rotatebox{180}{6 (top)}}} %% %% Fold mark 7, left \multiput(\value{@PCDC@Fold@G@Lft@X}, \value{@PCDC@Fold@G@Lft@Y})(-2, 0){\value{@PCDC@Fold@Dash@Number}}{\line(-1, 0){1}} \put(\value{@PCDC@Fold@G@Lft@Label@X}, \value{@PCDC@Fold@G@Lft@Label@Y}){\makebox(0, 0)[br]{\rotatebox{180}{7 (top)}}} %% %% Fold mark 7, right \multiput(\value{@PCDC@Fold@G@Rgt@X}, \value{@PCDC@Fold@G@Rgt@Y})(2, 0){\value{@PCDC@Fold@Dash@Number}}{\line(1, 0){1}} \put(\value{@PCDC@Fold@G@Rgt@Label@X}, \value{@PCDC@Fold@G@Rgt@Label@Y}){\makebox(0, 0)[bl]{\rotatebox{180}{7 (top)}}} %% %% Fold mark 8 \put(\value{@PCDC@Fold@H@X}, \value{@PCDC@Fold@H@Y}){\line(1, 1){\value{@PCDC@Fold@Length}}} \put(\value{@PCDC@Fold@H@Label@X}, \value{@PCDC@Fold@H@Label@Y}){\makebox(0, 0)[tl]{\rotatebox{ 45}{8}}} %% %% Fold mark 9 \put(\value{@PCDC@Fold@I@X}, \value{@PCDC@Fold@I@Y}){\line(1, -1){\value{@PCDC@Fold@Length}}} \put(\value{@PCDC@Fold@I@Label@X}, \value{@PCDC@Fold@I@Label@Y}){\makebox(0, 0)[tr]{\rotatebox{315}{9}}} %% %% Fold mark 10 \put(\value{@PCDC@Fold@J@X}, \value{@PCDC@Fold@J@Y}){\line(-1, 1){\value{@PCDC@Fold@Length}}} \put(\value{@PCDC@Fold@J@Label@X}, \value{@PCDC@Fold@J@Label@Y}){\makebox(0, 0)[tr]{\rotatebox{315}{10}}} %% %% Fold mark 11 \put(\value{@PCDC@Fold@K@X}, \value{@PCDC@Fold@K@Y}){\line(-1, -1){\value{@PCDC@Fold@Length}}} \put(\value{@PCDC@Fold@K@Label@X}, \value{@PCDC@Fold@K@Label@Y}){\makebox(0, 0)[tl]{\rotatebox{ 45}{11}}} %% %% Fold mark 12 \put(\value{@PCDC@Fold@L@X}, \value{@PCDC@Fold@L@Y}){\line(1, 1){\value{@PCDC@Fold@Short@Length}}} \put(\value{@PCDC@Fold@L@Label@X}, \value{@PCDC@Fold@L@Label@Y}){\makebox(0, 0)[tl]{\rotatebox{ 45}{12}}} %% %% Fold mark 13 \put(\value{@PCDC@Fold@M@X}, \value{@PCDC@Fold@M@Y}){\line(-1, 1){\value{@PCDC@Fold@Short@Length}}} \put(\value{@PCDC@Fold@M@Label@X}, \value{@PCDC@Fold@M@Label@Y}){\makebox(0, 0)[tr]{\rotatebox{315}{13}}} %% %% Latch matter \put(\value{@PCDC@Latch@Matter@X}, \value{@PCDC@Latch@Matter@Y}){\makebox(0, 0)[bl]{\rotatebox{180}{\parbox{\value{@PCDC@Text@width}\unitlength}{\@PCDC@Latch@Matter}}}} %% %% Spine matter \put(\value{@PCDC@Spine@Matter@X}, \value{@PCDC@Spine@Matter@Y}){\makebox(0, 0)[cc]{\@PCDC@Spine@Matter}} %% %% Back matter \put(\value{@PCDC@Back@Matter@X}, \value{@PCDC@Back@Matter@Y}){\makebox(0, 0)[tl]{\parbox{\value{@PCDC@Text@width}\unitlength}{\@PCDC@Back@Matter}}} %% %% Pouch matter \put(\value{@PCDC@Pouch@Matter@X}, \value{@PCDC@Pouch@Matter@Y}){\makebox(0, 0)[bl]{\rotatebox{180}{\parbox{\value{@PCDC@Text@width}\unitlength}{\@PCDC@Pouch@Matter}}}} \end{picture}} % \end{macrocode} % % \subsection{Clean Up} % % And finally, we do some housekeeping. % \begin{macrocode} \makeatother % \end{macrocode} % % That's all. % % \PrintChanges % \newpage % \PrintIndex % % \Finale % \endinput % % Local Variables: % mode: latex % TeX-master: t % End: