diff options
author | Norbert Preining <norbert@preining.info> | 2019-09-02 13:46:59 +0900 |
---|---|---|
committer | Norbert Preining <norbert@preining.info> | 2019-09-02 13:46:59 +0900 |
commit | e0c6872cf40896c7be36b11dcc744620f10adf1d (patch) | |
tree | 60335e10d2f4354b0674ec22d7b53f0f8abee672 /macros/latex/contrib/simplecd |
Initial commit
Diffstat (limited to 'macros/latex/contrib/simplecd')
-rw-r--r-- | macros/latex/contrib/simplecd/README | 92 | ||||
-rw-r--r-- | macros/latex/contrib/simplecd/examples.pdf | bin | 0 -> 223740 bytes | |||
-rw-r--r-- | macros/latex/contrib/simplecd/examples.tex | 62 | ||||
-rw-r--r-- | macros/latex/contrib/simplecd/simplecd.dtx | 2675 | ||||
-rw-r--r-- | macros/latex/contrib/simplecd/simplecd.ins | 53 | ||||
-rw-r--r-- | macros/latex/contrib/simplecd/simplecd.pdf | bin | 0 -> 784069 bytes |
6 files changed, 2882 insertions, 0 deletions
diff --git a/macros/latex/contrib/simplecd/README b/macros/latex/contrib/simplecd/README new file mode 100644 index 0000000000..b9ad7e7c27 --- /dev/null +++ b/macros/latex/contrib/simplecd/README @@ -0,0 +1,92 @@ +Copyright (C) 2010-2013 by Daniel Majoros + +This file may be distributed and/or modified under the +conditions of the LaTeX Project Public License, either +version 1.2 of this license or (at your option) any later +version. The latest version of this license is in: + +http://www.latex-project.org/lppl.txt + +and version 1.2 or later is part of all distributions of +LaTeX version 1999/12/01 or later. + + +The simplecd package + +The simplecd package provides printable cut-outs for various CD, DVD and other data storage holders. +The name of the package comes form it's implementation and ease of use. + +The simplecd package was created for producing cut-outs for creating covers, inlays(inlets) for +optical disc packaging such as jewel cases, keepcases. Additional data storage cover support were added for +VHS, audio cassette and gramophone records. The covers were aimed for containing only +simple text with different font sizes, but since everything is placed inside a \parbox environment, it can +contain a wide range of things. + +There are also macros which can resize ready-to-print images to the appropriate size. + +The layout macros provide ready-to-use formatting for the covers. + +Covers and labels: + - jewel case front, back and individual spine + - 60 and 80 millimeter jewel case covers + - two-page jewel case front + - slim DVD keepcase + - normal DVD keepcase + - Blu-Ray keepcase + - custom-sized keepcase + - disk sleeve + - sleeve for 60 and 80 millimeter disks + - sleeve for lever arch files + - one sided DVD keepcase inlay + - one sided Blu-Ray keepcase inlay + - custom-sized inlay + - CD-R, CD, DVD disk images + - 60 and 80 millimeter disk images + - 3.5-inch floppy cover + - VHS labels and covers + - Audio cassette label and inlay + - Gramophone record covers + - Zip disk covers + +Layout macros: + - empty layouts for all macros listed below + - driver layout for standard, 60 and 80 millimeter covers + - movie layout for DVD and Blu-ray keepcases + - many jewel case layouts + + +Version history: + +1.4 - 2013/02/28 + - Made unitlength setting local + +1.3 - 2013/01/26 + - Added the nohcenter package option + - Added the jeweltitledlempty layout + - Added the jewelbackIIlempty layout + - Added the singlesheet cover with jewel layout support + - Improved noalign option and layout placement relation + +1.2 - 2012/12/21 + - Added jewelstripeslempty layout + - Added jewelgamel and jewelgamelempty layouts + - Added jewelflaglempty layout + - Added jewellineslempty layout + - Added cover for 3.5-inch floppy disks + - Added the disk macro + - Added VHS labels and covers + - Added audio cassette cover and inlay + - Added gramophone record cover labels + - Added zip disk covers + +1.1 - 2012/11/04 + - Rewrote the drawing mechanism, covers will never be resized based on content + - Added support for 60 and 80 millimeter disks + - Added sleeve for lever arch files + - Added disk images + - Added layouts: ready-to-use designs for cover content + - Added troubleshooting and font size section into the documentation + - Added examples tex and pdf files + +1.0 - 2010/07/01 + - Initial release diff --git a/macros/latex/contrib/simplecd/examples.pdf b/macros/latex/contrib/simplecd/examples.pdf Binary files differnew file mode 100644 index 0000000000..c8a392c484 --- /dev/null +++ b/macros/latex/contrib/simplecd/examples.pdf diff --git a/macros/latex/contrib/simplecd/examples.tex b/macros/latex/contrib/simplecd/examples.tex new file mode 100644 index 0000000000..13d2821da6 --- /dev/null +++ b/macros/latex/contrib/simplecd/examples.tex @@ -0,0 +1,62 @@ + +\documentclass[a4paper,10pt,oneside]{article} +\pagestyle{empty} + +%Sets margins in centimetres +\usepackage[left=1cm, top=1cm, right=2cm, bottom=1cm]{geometry} + +\usepackage{simplecd} + +\begin{document} + +\djewel{{\Large Double jewel front frontpage}}{second page} +\newpage +\dvd[backtext]{{\Huge DVD keepcase}}{spine} +\newpage +\bluray{{\Huge Blu-Ray keepcase}}{Spine} +\newpage +\slimdvd[backtext]{{\Huge Slim DVD keepcase}}{spine} +\newpage +\dvdinlay{{\Huge DVD keepcase inlay}} +\newpage +\sleeve{{\Huge Disk Sleeve}} +\newpage +\covers[{\Large Backsheet text}]{{{\Huge Jewel case cover} \\ \vspace{0.5cm} {\large TestSubtitle}}}{TestSpineText} + +\vspace{0.5cm} +\jewelspine{Jewel case spine} +\newpage +\sleevela[Back text]{\jeweldriverl{Lever arch(1)}{sleeve with layout (2)}{2012.20.12 (3)}{123456789 (4)}% + {12-ABC (5)}{Driver \\ Manual (6)}{Driver not compatible with ZYX operating system (7)}} +\newpage +\cddvddisk{{\Huge CD} \\ \vspace{3cm} Left \hspace{7cm} Right \\ \vspace{3cm} TextText} + +\vspace{2cm} + +\LXXXdisk{{\large 80 millmieter disk } \\ \vspace{4cm} Text} +\newpage +\sleeveLXXX[Back text]{\large 80 millimeter sleeve} +\floppyIIIV{3.5-inch floppy}{Back content} + +\zipdisk{Zip disk}{Back content} + +\vspace{1cm} + +\zipdiskII{Zip disk II} + +\vspace{1cm} + +\disk{{\Huge Disk} \\ \vspace{3cm}Left \hspace{7cm} Right \\ \vspace{3cm}TextText} + +\vspace{1cm} + +\vhsspine{\huge VHS spine} + +\vspace{1cm} + +\vhsfront{\huge VHS front} \hspace{1cm} +\cassettecover{{\huge Audio cassette} \\ \vspace{2cm} Lower text} + +\cassetteinlay{\huge Audio cassette inlay}{Spine}{Back} + +\end{document}
\ No newline at end of file diff --git a/macros/latex/contrib/simplecd/simplecd.dtx b/macros/latex/contrib/simplecd/simplecd.dtx new file mode 100644 index 0000000000..2aed267542 --- /dev/null +++ b/macros/latex/contrib/simplecd/simplecd.dtx @@ -0,0 +1,2675 @@ + +% \iffalse meta-comment +% +% Copyright (C) 2010-2013 by Daniel Majoros +% +% This file may be distributed and/or modified under the +% conditions of the LaTeX Project Public License, either +% version 1.2 of this license or (at your option) any later +% version. The latest version of this license is in: +% +% http://www.latex-project.org/lppl.txt +% +% and version 1.2 or later is part of all distributions of +% LaTeX version 1999/12/01 or later. +% +% \fi +% +%\iffalse +%<package>\NeedsTeXFormat{LaTeX2e} +%<package>\ProvidesPackage{simplecd} +%<package> [2013/02/28 v1.4 Simple CD, DVD covers and many more] +% +%<*driver> +\documentclass{ltxdoc} +\usepackage{simplecd} +\usepackage{graphicx} +\usepackage{float} +\usepackage{listings} + +%Provides clickable links in content tables, references +\usepackage[hyperindex=false,% + pdftitle={simplecd},% + pdfauthor={Daniel Majoros},% + pdfsubject={CD, DVD and other media covers and labels},% + pdfkeywords={cover,cd,dvd,bluray,sheet,keepcase,layout,disk,zip,VHS}]{hyperref} +\EnableCrossrefs +\CodelineIndex +\RecordChanges + +\begin{document} + \lstset{language=[LaTeX]Tex} + \lstset{numbers=left, numberstyle=\tiny, stepnumber=1, numbersep=5pt} + \lstset{gobble=1,float,frame=tb} + \lstset{tabsize=2} + \DocInput{./simplecd.dtx} +\end{document} +%</driver> +%\fi +% +% \CheckSum{1464} +% +% \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 \~} +% +% \changes{v1.0}{2010/07/01}{Initial version} +% \changes{v1.1}{2012/11/04}{Rewrote drawing mechanism, added layouts, disk images, additional covers} +% \changes{v1.2}{2012/12/21}{Added new layouts and many new covers, labels} +% \changes{v1.3}{2013/01/26}{Added nohcenter option, more layouts and singlesheet} +% \changes{v1.4}{2013/02/28}{Made unitlength setting local} +% +% \DoNotIndex{\newline,\\,\space,\begin,\end,\rule,\cline,\hspace,\vspace,\centering,\DeclareRobustCommand,\{,\},\ } +% \DoNotIndex{\newcommand,\newlength,\setlength,\parbox,\line,\putline,\resizebox,\unitlength} +% \DoNotIndex{\put,\RequirePackage,\vrule,\DeclareOption,\fontsize,\ProcessOptions,\relax} +% \DoNotIndex{\renewcommand,\selectfont,\multicolumn,\framebox,\usebox,\put,\line,\value,\rotatebox,\setcounter,\newcounter,\!,!\!,!\,! ,\! ,!\! ,!\ , } +% \DoNotIndex{\Large,\Huge,\huge,\footnotesize,\underline,\savebox,\equal,\boolean,\newboolean,\setboolean,\baselineskip,\ifthenelse} +% \DoNotIndex{\scalebox,\makebox,\OR,\AND,\newsavebox,\qbezier,\circle,\space,\textless,\textgreater,\csname,\endcsname} +% \begingroup +% \makeatletter +% \lccode`9=32\relax +% \lowercase{%^^A +% \edef\x{\noexpand\DoNotIndex{\@backslashchar9}}%^^A +% }%^^A +% \expandafter\endgroup\x +% +% \GetFileInfo{simplecd.sty} +% +% \title{The \textsf{simplecd} package\thanks{This document +% corresponds to \textsf{simplecd}~\fileversion, +% dated~\filedate.}} +% \author{D\'aniel Majoros} +% +% \maketitle +% +% \begin{abstract} +% The simplecd package provides printable cut-outs for various CD, DVD and other data storage holders. +% The name of the package comes form it's implementation and ease of use. +% \end{abstract} +% +% \newlength{\orig} +% \setlength{\orig}{\baselineskip} +% \setlength{\baselineskip}{0.9\baselineskip} +% \tableofcontents +% \setlength{\baselineskip}{\orig} +% +% \section{Introduction} +% The \textsf{simplecd} package was created for producing cut-outs for creating covers, inlays(inlets) for +% optical disc packaging such as jewel cases, keepcases. Additional data storage cover support were added for +% VHS, audio cassette and gramophone records. The covers were aimed for containing only +% simple text with different font sizes, but since everything is placed inside a |\parbox| environment, it can +% contain a wide range of things. +% +% There are also macros which can resize ready-to-print images to the appropriate size. +% +% The layout macros provide ready-to-use formatting for the covers. +% +% \section{Installation} +% +% The install procedure is the usual. Run \texttt{(pdf)latex} on the \texttt{simplecd.ins} file to obtain the necessary \texttt{simplecd.sty} file: \\ +% +% \texttt{pdflatex ./simplecd.ins --output-directory=./} \\ +% +% Then place the \texttt{simplecd.sty} file in a directory that is searched by \TeX. +% If you use some kind of \LaTeX\ distribution, like MiKTeX, see it's documentation. +% +% \section{Usage} +% +% To use the package, put this in the document preamble: |\usepackage{simplecd}|. +% This section gives a detailed information on macros, lists their parameters also. +% +% It is worth to decrease the document's margins, so the covers can fit onto +% an A4 sized paper. For this, use the \textsf{geometry} package, for example like this: \\ +% |\usepackage[left=1cm, top=1cm, right=1cm, bottom=1cm]{geometry}| +% +% All examples in this document were resized, for full size output, see the \texttt{examples.pdf} file. +% +% \vspace{0.3cm} +% +% \begin{lstlisting} +% LaTeX example source codes in this document are placed in +% listings like this. They are usually followed by output +% produced with the code samples. +% \end{lstlisting} +% +% \vspace{0.3cm} +% +% Please note that not all the covers were tested ( printed and placed on actual media ) as the appropriate media was not available. +% +% \subsection{Cut-outs} +% +% \subsubsection{Jewel cases} +% +% \DescribeMacro{\covers} +% The first and foremost macro is for the standard jewel case and it's backsheet with two spines. +% The parameters of the |\covers| macro are as follows: +% |\covers| \oarg{backsheet text} \marg{cover title} \marg{spine text}. The first two can be +% whole paragraphs with different font sized texts. For a new line, you can use |\\|, +% and for a skip, use |\vspace{length to skip}| in the text after a new line. +% The spine text will be printed on both spines. The spine +% text should be short enough to fit into the desired space. +% +% Example: +% \begin{lstlisting} +% \covers +% [{\Large Backsheet text}] +% {{\Huge Jewelcase Title} \\ \vspace{1cm} Subtitle} +% {Spine Text} +% \end{lstlisting} +% +% \begin{figure}[H] +% \centering +% \resizebox{0.95\textwidth}{!}{\covers[{\Large Backsheet text}]{{\Huge Jewelcase Title} \\ \vspace{1cm} Subtitle}{Spine Text}} +% \caption{Jewel case covers} +% \end{figure} +% +% \vspace*{0.5cm} +% +% \DescribeMacro{\frontcover} +% The |\frontcover|, which is called in the previously mentioned macro, produces the front cover for +% the jewel case. It's mandatory argument is the cover text: |\frontcover| \marg{cover text}. +% +% \DescribeMacro{\LXfrontcover} \DescribeMacro{\LXXXfrontcover} The |\LXfrontcover| and |\LXXXfrontcover| macros work just the same as +% |\frontcover| but they produce covers for jewel cases that holds 60 or 80 millimeter disks (LX and LXXX are roman numbers, their values are 60 and 80). +% +% \DescribeMacro{\backsheet} +% The |\backsheet| macro is also called from the |\covers| macro. It produces the backsheet with two +% identical spines. The usage is |\backsheet| \oarg{backsheet middle text} \marg{spine text}. +% +% \DescribeMacro{\jewelspine} +% The |\jewelspine| macro creates a single spine for the jewelcase. It's usage is |\jewelspine| \marg{spine text}. +% +% \DescribeMacro{\singlesheet} The |\singlesheet| macro creates a single sheet for a special jewel case. The \marg{front side} +% argument makes it possible to put content beside the jewel case sized front content. +% Usage: |\singlesheet| \marg{front} \marg{front side} \marg{spine} \marg{back} +% +% \begin{lstlisting} +% \singlesheet +% {\huge Front} +% {Front side} +% {Spine} +% {Back} +% \end{lstlisting} +% +% \begin{figure}[H] +% \centering +% \resizebox{0.8\textwidth}{!}{ +% \singlesheet +% {\huge Front} +% {Front side} +% {Spine} +% {Back}} +% \caption{Single sheet} +% \end{figure} +% +% \DescribeMacro{\djewel} +% The |\djewel| macro creates a double page jewel case cover. Text can be put on one side, then it should be folded +% in half. The usage is: |\djewel| \marg{first page text} \marg{second page text}. +% +% \begin{lstlisting} +% \djewel +% {\fontsize{70}{36}\selectfont Big Title} +% {Second page} +% \end{lstlisting} +% +% \begin{figure}[H] +% \centering +% \rotatebox{270}{\resizebox{0.48\textwidth}{!}{\djewel{\fontsize{70}{36}\selectfont Big Title}{Second page}}} +% \caption{Double page jewel book} +% \end{figure} +% +% \vspace*{0.5cm} +% +% This is also an example of using fix sized fonts with the \textsf{fix-cm} package. +% +% \subsubsection{Keepcases} +% +% \DescribeMacro{\slimdvd} \DescribeMacro{\dvd} +% The |\slimdvd| and |\dvd| macros creates a slim and a simple DVD keepcase. Text can be put on both +% sides plus on the spine area. \DescribeMacro{\bluray} The |\bluray| macro creates a keepcase for Blu-Ray disks. +% Their usage is: |\dvd| \oarg{backside text} \marg{cover text} \marg{spine text}. +% +% \begin{lstlisting} +% \slimdvd +% [{\Large Backsheet text}] +% {{\Huge \underline{SlimDVD Title}}% +% \\ \vspace{1cm} Subtitle} +% {Spine Text} +% \end{lstlisting} +% +% \begin{figure}[H] +% \centering +% \rotatebox{270}{\resizebox{0.65\textwidth}{!}{\slimdvd[{\Large Backsheet text}]% +% {{\Huge \underline{SlimDVD Title}} \\ \vspace{1cm} Subtitle}{Spine Text}} } +% \caption{Slim DVD keepcase cover} +% \end{figure} +% +% \vspace*{0.5cm} +% +% \subsubsection{Sleeves} +% +% \DescribeMacro{\sleeve} +% The |\sleeve| macro creates a disk-sleeve which requires some glue after cutting it out. The upper part +% can be used to close the sleeve. Text can be put on +% it's cover and back. The usage is: |\sleeve| \oarg{back text} \marg{cover text}. +% +% \begin{lstlisting} +% \sleeve[Back text]{{\Huge Sleeve text}} +% \end{lstlisting} +% +% \begin{figure}[H] +% \centering +% \resizebox{0.7\textwidth}{!}{\sleeve[Back text]{{\Huge Sleeve text}}} +% \caption{Paper sleeve} +% \end{figure} +% +% \DescribeMacro{\sleeveLX} \DescribeMacro{\sleeveLXXX} The |\sleeveLX| and |\sleeveLXXX| macros produce sleeves for +% the 60 and the 80 millimeter sized disks, respectively. Their use is the same as |\sleeve|. +% +% \begin{lstlisting} +% \sleeveLX[Back text]{\large Front text} +% \sleeveLXXX[Back text]{\large Front text} +% \end{lstlisting} +% +% \begin{figure}[H] +% \begin{minipage}[b]{0.45\textwidth} +% \centering +% \resizebox{0.8\textwidth}{!}{\sleeveLX[Back text]{\large Front text}} +% \caption{60 millimeter disk sleeve} +% \end{minipage} +% \hspace{0.5cm} +% \begin{minipage}[b]{0.45\textwidth} +% \centering +% \resizebox{0.8\textwidth}{!}{\sleeveLXXX[Back text]{\large Front text}} +% \caption{80 millimeter disk sleeve} +% \end{minipage} +% \end{figure} +% +% \DescribeMacro{\sleevela} The |\sleevela| macro creates a sleeve that can be used in lever arch files. +% The small circles must be cut out, they are for the levers. The distance between the circle centers is 8 centimeter. +% +% \begin{lstlisting} +% \sleevela[Back text]{\scalebox{4}{Front text}} +% \end{lstlisting} +% +% \begin{figure}[H] +% \centering +% \resizebox{0.8\textwidth}{!}{\sleevela[Back text]{\scalebox{4}{Front text}}} +% \caption{Sleeve for lever arch files} +% \end{figure} +% +% \vspace*{0.5cm} +% +% \subsubsection{Image as cover} +% +% \DescribeMacro{\coverimg} \DescribeMacro{\backsheetimg} \DescribeMacro{\dvdimg} \DescribeMacro{\slimdvdimg} +% \DescribeMacro{\blurayimg} +% The macros width the \emph{img} ending are expecting an image, and resizing this image to the appropriate cover +% size. The macros are |\coverimg|, |\backsheetimg|, |\dvdimg|, |\slimdvdimg|, |\blurayimg|. Their usage is +% |\coverimg| \parg{picture}. No image macro for +% the sleeve. These macros does not keep the aspect ratio of the given image, thus it should already be at the +% correct ratio. +% +% An example without the result: +% \begin{lstlisting} +% \dvdimg{includegraphics{coverpic}} +% \end{lstlisting} +% +% \vspace*{0.5cm} +% +% \subsubsection{Inlays} +% +% \DescribeMacro{\dvdinlay} \DescribeMacro{\blurayinlay} +% The |\dvdinlay| and |\blurayinlay| macros create a one sided inlay for the appropriate keepcases. +% Their usage is |\dvdinlay| \marg{text}. +% +% \begin{lstlisting} +% \dvdinlay +% {{\Large DVD Inlay} +% +% \vspace{5cm} TextTextText +% +% \vspace{1cm} {\fontsize{20}{36}\selectfont TextText}} +% \end{lstlisting} +% +% \begin{figure}[H] +% \centering +% \resizebox{0.5\textwidth}{!}{% +% \dvdinlay{{\Large DVD Inlay +% +% \vspace{5cm} TextTextText +% +% \vspace{1cm} {\fontsize{20}{36}\selectfont TextText}}}} +% \caption{DVD keepcase inlay} +% \end{figure} +% +% \vspace*{0.5cm} +% +% \subsubsection{Floppy covers} +% +% These macros can be used to produce covers that can be glued to floppy disks at the appropriate place. +% +% \DescribeMacro{\floppyIIIV} The |\floppyIIIV| macro creates cover for the 3.5-inch (89 mm) disks. The cover +% should be glued to both sides of the disk. Usage: |\floppyIIIV| \marg{front} \marg{back} +% +% \begin{lstlisting} +% \floppyIIIV{Front content}{Back content}} +% \end{lstlisting} +% +% \begin{figure}[H] +% \centering +% \resizebox{0.5\textwidth}{!}{% +% \floppyIIIV{Front content}{Back content}}% +% \caption{The 3.5-inch floppy disk cover} +% \end{figure} +% +% \subsubsection{Zip disks} +% +% \DescribeMacro{\zipdisk} The |\zipdisk| macro provides a cover label for zip disks. +% Cover dimensions: 98 millimeter wide, 120 millimeter high. Usage: |\zipdisk| \marg{front} \marg{back} +% +% \begin{lstlisting} +% \zipdisk{Front content}{Back content} +% \end{lstlisting} +% +% \begin{figure}[H] +% \centering +% \resizebox{0.5\textwidth}{!}{% +% \zipdisk{Front content}{Back content}}% +% \caption{Cover label for zip disks} +% \end{figure} +% +% \DescribeMacro{\zipdiskII} The |\zipdiskII| macro provides a cover label for zip disks. +% Cover dimensions: 60 millimeter wide, 51 millimeter high. Usage: |\zipdiskII| \marg{content} +% +% \begin{lstlisting} +% \zipdiskII{Content} +% \end{lstlisting} +% +% \begin{figure}[H] +% \centering +% \resizebox{0.4\textwidth}{!}{% +% \zipdiskII{Content}}% +% \caption{Cover label for zip disks} +% \end{figure} +% +% \subsubsection{Disk covers} +% +% Macros presented below can be used to create images like actual disks. The results can be used for example for top cover of a cake box. +% For printing directly on the disks themselves, use a printing software especially designed for this task. +% +% Content can be placed anywhere in the rectangle which is always defined by the largest circle in the picture. +% \begin{figure}[H] +% \centering +% \resizebox{0.5\textwidth}{!}{% +% \setlength{\unitlength}{1mm}% +% \cdrdisk{\begin{picture}(116,116)\framebox(116,116){}\end{picture}}% +% } +% \caption{The rectangle that is the boundary for the content} +% \end{figure} +% +% \DescribeMacro{\cdrdisk} The |\cdrdisk| macro creates an image of a CD-R disk. It's inner circle leaves space for the transparent part of the disk. +% Usage: |\cddvddisk| \marg{content} +% +% \begin{lstlisting} +% \cdrdisk{ +% {\Huge Title} \\ \vspace{3cm} +% Left \hspace{7cm} Right \\ \vspace{3cm} +% TextText} +% \end{lstlisting} +% +% \begin{figure}[H] +% \centering +% \resizebox{0.5\textwidth}{!}{% +% \cdrdisk{% +% {\Huge Title} \\ \vspace{3cm}% +% Left \hspace{7cm} Right \\ \vspace{3cm}% +% TextText}% +% } +% \caption{CD-R image with positioned texts} +% \end{figure} +% +% \DescribeMacro{\cddvddisk} The |\cddvddisk| macro is slightly bigger than the |\cdrdisk|, and has a smaller inner circle. This smaller inner cicrle +% is nearly as small as the center hole in the disks. +% +% \begin{lstlisting} +% \cddvddisk{ +% {\Huge Title} \\ \vspace{3cm} +% Left \hspace{7cm} Right \\ \vspace{3cm} +% TextText} +% \end{lstlisting} +% +% \begin{figure}[H] +% \centering +% \resizebox{0.5\textwidth}{!}{% +% \cddvddisk{ +% {\Huge Title} \\ \vspace{3cm} +% Left \hspace{7cm} Right \\ \vspace{3cm} +% TextText} +% } +% \caption{CD, DVD image with positioned texts} +% \end{figure} +% +% \DescribeMacro{\disk} The |\disk| macro provides the picture of a standard compact disk with all the circles indicating the different parts. +% The innermost circle is the size of the center hole in the disks. +% +% \begin{lstlisting} +% \disk{ +% {\Huge Title} \\ \vspace{3cm} +% Left \hspace{7cm} Right \\ \vspace{3cm} +% TextText} +% \end{lstlisting} +% +% \begin{figure}[H] +% \centering +% \resizebox{0.5\textwidth}{!}{% +% \disk{% +% {\Huge Title} \\ \vspace{3cm}% +% Left \hspace{7cm} Right \\ \vspace{3cm}% +% TextText}% +% } +% \caption{Disk image with positioned texts} +% \end{figure} +% +% \DescribeMacro{\emptydisk} The |\emptydisk| macro provides the picture of a standard compact disk without all the circles indicating the different parts. +% The innermost circle is the size of the center hole in the disks. +% +% \begin{lstlisting} +% \emptydisk{ +% {\Huge Title} \\ \vspace{3cm} +% Left \hspace{7cm} Right \\ \vspace{3cm} +% TextText} +% \end{lstlisting} +% +% \begin{figure}[H] +% \centering +% \resizebox{0.5\textwidth}{!}{% +% \emptydisk{% +% {\Huge Title} \\ \vspace{3cm}% +% Left \hspace{7cm} Right \\ \vspace{3cm}% +% TextText}% +% } +% \caption{Empty disk image with positioned texts} +% \end{figure} +% +% \DescribeMacro{\LXXXdisk} The |\LXXXdisk| macro is the disk image of a 80 millimeter disk. +% +% \begin{lstlisting} +% \LXXXdisk{Title \\ \vsapce{4cm} Text} +% \end{lstlisting} +% +% \begin{figure}[H] +% \centering +% \resizebox{0.4\textwidth}{!}{% +% \LXXXdisk{{\large Title } \\ \vspace{4cm} Text} +% } +% \caption{80 millimeter disk image with positioned texts} +% \end{figure} +% +% \subsubsection{VHS covers} +% +% \DescribeMacro{\vhsfront} The |\vhsfront| macro creates the label that can be placed on the front middle part of a VHS cassette. +% Usage: |\vhsfront| \marg{content} \\ +% +% \begin{lstlisting} +% \vhsfront{\huge Text} +% \end{lstlisting} +% +% \begin{figure}[H] +% \centering +% \resizebox{0.5\textwidth}{!}{% +% \vhsfront{\huge Text} +% } +% \caption{VHS front label} +% \end{figure} +% +% \DescribeMacro{\vhsspine} The |\vhsspine| macro creates the spine that can be placed on the side of a VHS cassette. +% Usage: |\vhsspine| \marg{content} \\ +% +% \begin{lstlisting} +% \vhsspine{\huge Text} +% \end{lstlisting} +% +% \begin{figure}[H] +% \centering +% \resizebox{0.8\textwidth}{!}{% +% \vhsspine{\huge Text} +% } +% \caption{VHS front label} +% \end{figure} +% +% \DescribeMacro{\CCCvhscover} \DescribeMacro{\CCCCvhscover} The |\CCCvhscover| and |\CCCvhscover| macros +% create a cover for a 300 series and 400 series VHS cassette, respectively. To differentiate between the two: +% the 300 series cover is 257 millimeter wide, the 400 series cover is 296 millimeter wide. +% Their usage is the same: |\CCCvhscover| \marg{front} \marg{spine} \marg{back} \\ +% +% \begin{lstlisting} +% \CCCvhscover +% {\scalebox{6}{Front}} +% {\scalebox{4}{Spine}} +% {\scalebox{4}{Back}} +% \end{lstlisting} +% +% \begin{figure}[H] +% \centering +% \resizebox{0.9\textwidth}{!}{% +% \CCCvhscover{\scalebox{6}{Front}}{\scalebox{4}{Spine}}{\scalebox{4}{Back}} +% } +% \caption{Cover for a 300 series VHS case} +% \end{figure} +% +% \subsubsection{Audio cassette covers} +% +% \DescribeMacro{\cassettecover} The |\cassettecover| macro creates cover label for an audio cassette. Many types of cassettes exist with more or less +% different labels, so the provided label may need adjustments, like cutting off the corners or a rectangular inner part. +% Usage: |\cassettecover| \marg{content} \\ +% +% \begin{lstlisting} +% \cassettecover +% {{\huge Upper text} \\ \vspace{2cm} Lower text} +% \end{lstlisting} +% +% \begin{figure}[H] +% \centering +% \resizebox{0.7\textwidth}{!}{% +% \cassettecover{{\huge Upper text} \\ \vspace{2cm} Lower text} +% } +% \caption{Cover label for an audio cassette} +% \end{figure} +% +% \DescribeMacro{\cassetteinlay} The |\cassetteinlay| macro provides an inlay for the standard cassette case. +% Usage: |\cassetteinlay| \marg{front} \marg{spine} \marg{back} \\ +% +% \begin{lstlisting} +% \cassetteinlay +% {\huge Front} +% {Spine} +% {Back} +% \end{lstlisting} +% +% \begin{figure}[H] +% \centering +% \resizebox{0.7\textwidth}{!}{% +% \cassetteinlay +% {\huge Front} +% {Spine} +% {Back} +% } +% \caption{Cover label for an audio cassette} +% \end{figure} +% +% \subsubsection{Gramophone records} +% +% \DescribeMacro{\vinylcdcover} The |\vinylcdcover| macro provides a cover label for vinyl CDs. +% The vinyl CDs have the same size as standard CDs, they just look like old gramophone records. The outer circle is 65 millimeter in diameter, +% the inner circle is 16.7 milimeter in diameter. Usage: |\vinylcdcover| \marg{content} \\ +% +% \begin{lstlisting} +% \vinylcdcover +% {{\huge Upper text} \\ \vspace{3cm} Lower text} +% \end{lstlisting} +% +% \begin{figure}[H] +% \centering +% \resizebox{0.7\textwidth}{!}{% +% \vinylcdcover{{\huge Upper text} \\ \vspace{3cm} Lower text} +% } +% \caption{Cover label for a vinyl CD} +% \end{figure} +% +% \DescribeMacro{\recordcover} The |\recordcover| macro creates cover label for a 30 centimeter record. The outer circle is 99 millimeter in diameter, +% the inner circle is 8 milimeter in diameter. Usage: |\recordcover| \marg{content} \\ +% +% \begin{lstlisting} +% \recordcover +% {{\huge Upper text} \\ \vspace{3cm} Lower text} +% \end{lstlisting} +% +% \begin{figure}[H] +% \centering +% \resizebox{0.7\textwidth}{!}{% +% \recordcover{{\huge Upper text} \\ \vspace{3cm} Lower text} +% } +% \caption{Cover label for a gramophone record} +% \end{figure} +% +% \subsection{Layouts} +% +% The layouts are pre-set cover layouts for ease of use. Similar content can be produced and used in the cover macros. +% +% Some layouts contain preconfigured text. The texts are always +% in English and represent a personal preference. All layouts have a macro suffixed with the \texttt{empty} word that +% only contains the frames with no text, so one can insert any content. +% +% A layout can be used on various cover types. The first word in the layout's name decides the type. +% \begin{description} +% \item[jewel] type layouts are compatible with: |\covers| |\frontcover| |\sleeve| |\djewel| |\sleevela| |\singlesheet| +% \item[LX] type layouts are compatible with: |\LXfrontcover| |\sleeveLX| +% \item[LXXX] type layouts are compatible with: |\LXXXfrontcover| |\sleeveLXXX| +% \item[dvd] type layouts are compatible with: |\dvd| |\slimdvd| +% \item[bluray] type layouts are compatible with: |\bluray| +% \end{description} +% Note that this compatibility is not checked in the macros. The layouts were designed to be centered on the covers. +% If the |nohcenter| package option is used, they could get misplaced. +% +% Any parameter in a layout can be empty. It means that no content will be put in the appropriate cell. For example |\jewelflaglempty {} {Middle} {}| +% +% The numbers in the parentheses in the below examples marks the number of the parameter which will be placed there. For example (3) means the +% third parameter of the macro. +% +% Many layouts have a meaningful name, like driver, movie or music. +% These names indicate a sugessted usage and they are easier to remeber than layoutA, layoutB etc. +% +% \subsubsection{Jewel case layouts} +% +% \DescribeMacro{\jeweldriverl} \DescribeMacro{\jeweldriverlempty} The |\jeweldriverl| can be used to create cover for driver disks that are supplied with +% PC hardware elements. +% Usage: |\jeweldriverl| \marg{title} \marg{subtitle} \marg{date} \marg{serial} \marg{disk version} \marg{right middle cell} \marg{bottom cell} +% +% \begin{lstlisting} +% \frontcover +% {\jeweldriverl +% {Motherboard(1)} +% {Model XYZ (2)} +% {2012.20.12 (3)} +% {123456789 (4)} +% {12-ABC (5)} +% {Driver \\ Manual (6)} +% {Driver not compatible with ZYX operating system (7)}} +% \end{lstlisting} +% +% \begin{figure}[H] +% \centering +% \scalebox{0.6}{\frontcover{\jeweldriverl{Motherboard(1)}{Model XYZ (2)}{2012.20.12 (3)}{123456789 (4)}% +% {12-ABC (5)}{Driver \\ Manual (6)}{Driver not compatible with ZYX operating system (7)}}} +% \caption{Driver CD layout on a jewel case fronrcover} +% \end{figure} +% +% \vspace*{0.5cm} +% +% \DescribeMacro{\jewellempty} The |\jewellempty| macro provides the same border as in the other layouts, just with one cell with centered content. +% Usage: |\jewellempty| \marg{content} \\ +% +% \DescribeMacro{\jewelmusiclempty} The |\jewelmusiclempty| macro is for music disks. There is no non-empty version as there isn't any text to be left out. +% Usage: |\jewelmusiclempty| \marg{title} \marg{performer} \marg{year} \marg{style} \\ +% +% \begin{lstlisting} +% \sleeve +% [\jewellempty +% {\begin{enumerate} +% \item Track One +% \item Track Two +% \end{enumerate}}] +% {\jewelmusiclempty +% {Album X (1)} +% {XYZ band(2)} +% {2222 (3)} +% {Styles (4)}} +% \end{lstlisting} +% +% \begin{figure}[H] +% \centering +% \resizebox{0.5\textwidth}{!}{\sleeve[\jewellempty{\begin{enumerate} \item Track One \item Track Two \end{enumerate}}]% +% {\jewelmusiclempty{Album X (1)}{XYZ band(2)}{2222 (3)}{Styles (4)}}} +% \caption{Music layout on front, empty layout on back} +% \end{figure} +% +% \DescribeMacro{\jewelbacklempty}\DescribeMacro{\jewelbackIIlempty} +% The |\jewelbacklempty| macro is the pair of the |\jewellempty| macro. This is for the backsheet of a jewel case. The |\jewelbackIIlempty| macro is +% the same, without the layout border and centering. Their usage is the same. +% Usage: |\jewelbacklempty| \marg{content} \\ +% +% \begin{lstlisting} +% \backsheet +% [\jewelbacklempty +% {Backsheet content}] +% {Spine text} +% \backsheet +% [\jewelbackIIlempty +% {Backsheet content}] +% {Spine text} +% \end{lstlisting} +% +% \begin{figure}[H] +% \begin{minipage}[b]{0.45\textwidth} +% \centering +% \resizebox{0.9\textwidth}{!}{\backsheet[\jewelbacklempty{Backsheet content}]{Spine text}} +% \caption{Empty jewel backsheet layout} +% \end{minipage} +% \hspace{0.5cm} +% \begin{minipage}[b]{0.45\textwidth} +% \centering +% \resizebox{0.9\textwidth}{!}{\backsheet[\jewelbackIIlempty{Backsheet content}]{Spine text}} +% \caption{Empty jewel backsheet layout without border and centering} +% \end{minipage} +% \end{figure} +% +% \DescribeMacro{\LXlempty} \DescribeMacro{\LXXXlempty} \DescribeMacro{\LXemptydriverl} \DescribeMacro{\LXXXemptydriverl} % +% \DescribeMacro{\LXdriverl} \DescribeMacro{\LXXXdriverl} The empty, empty driver and driver layouts for the 60 +% and 80 millimeter disk covers: |\LXlempty|, |\LXXXlempty|, |\LXemptydriverl|, |\LXXXemptydriverl|, |\LXdriverl| and |\LXXXdriverl| macros. +% +% \begin{lstlisting} +% \LXfrontcover{\LXlempty{\scalebox{3}{Title}}} +% \LXXXfrontcover +% {\LXXXdriverl +% {Motherboard(1)} +% {Model XYZ (2)} +% {2012.20.12 (3)} +% {123456789 (4)} +% {12-ABC (5)} +% {Driver \\ Manual (6)} +% {Driver not compatible with ZYX operating system (7)}} +% \end{lstlisting} +% +% \begin{figure}[H] +% \begin{minipage}[b]{0.45\textwidth} +% \centering +% \resizebox{0.7\textwidth}{!}{\LXfrontcover{\LXlempty{\scalebox{3}{Title}}}} +% \caption{The \texttt{\textbackslash LXlempty} layout} +% \end{minipage} +% \hspace{0.5cm} +% \begin{minipage}[b]{0.45\textwidth} +% \centering +% \resizebox{0.75\textwidth}{!}{\LXXXfrontcover{\LXXXdriverl{Motherboard(1)}{Model XYZ (2)}{2012.20.12 (3)}{123456789 (4)}% +% {12-ABC (5)}{Driver \\ Manual (6)}{Driver not compatible with ZYX operating system (7)}}} +% \caption{The \texttt{\textbackslash LXXXdriverl} layout} +% \end{minipage} +% \end{figure} +% +% \DescribeMacro{\jewelstripeslempty} The |\jewelstripeslempty| macro provides a layout of a stiped jewel cover. If the second or +% the third parameters are empty, then the appropriate diagonal stripe will not be drawn. +% Usage: |\jewelstripeslempty| \marg{center content} \marg{upper right content} \marg{lower left content} \\ +% +% \begin{lstlisting} +% \frontcover +% {\jewelstripeslempty +% {Main Title (1)} +% {Right upper text (2)} +% {Left lower text (3)}} +% \end{lstlisting} +% +% \begin{figure}[H] +% \centering +% \scalebox{0.6}{\frontcover +% {\jewelstripeslempty +% {Main Title (1)} +% {Right upper text (2)} +% {Left lower text (3)}}} +% \caption{Striped jewel cover with missing upper right stripe} +% \end{figure} +% +% \DescribeMacro{\jewelgamel} \DescribeMacro{\jewelgamelempty} The |\jewelgamel| and the |\jewelgamelempty| macros provide a layout for game disks. +% As usual, the empty version does not contain the preset texts. +% Usage: |\jewelgamel| \marg{title} \marg{release year} \marg{genres} \marg{developer} \marg{publisher} \marg{serial} \marg{comment} \\ +% +% \begin{lstlisting} +% \frontcover +% {\jewelgamel +% {Title (1)} +% {<release year> (2)} +% {<genre list> (3)} +% {<developer> (4)} +% {<publisher> (5)} +% {<serial> (6)} +% {<comment> (7)}} +% \end{lstlisting} +% +% \begin{figure}[H] +% \centering +% \scalebox{0.6}{\frontcover +% {\jewelgamel +% {Title (1)} +% {\textless release year\textgreater (2)} +% {\textless genre list\textgreater (3)} +% {\textless developer\textgreater (4)} +% {\textless publisher\textgreater (5)} +% {\textless serial\textgreater (6)} +% {\textless comment\textgreater (7)}}} +% \caption{The \texttt{\textbackslash jewelgamel} layout} +% \end{figure} +% +% \DescribeMacro{\jewelflaglempty} The |\jewelflaglempty| macro creates a cover layout in a 3-striped flag format. Content can be put in each stripe. +% Usage: |\jewelflaglempty| \marg{upper content} \marg{middle content} \marg{lower content} \\ +% +% \begin{lstlisting} +% \frontcover +% {\jewelflaglempty +% {Upper (1)} +% {\scalebox{3}{Middle (2)}} +% {Lower (3)}} +% \end{lstlisting} +% +% \begin{figure}[H] +% \centering +% \scalebox{0.6}{\frontcover +% {\jewelflaglempty +% {Upper (1)} +% {\scalebox{3}{Middle (2)}} +% {Lower (3)}}} +% \caption{The \texttt{\textbackslash jewelflaglempty} layout} +% \end{figure} +% +% \DescribeMacro{\jewellineslempty} The |\jewellineslempty| macro creates horizontal lines. The main purpose of these is +% to be written onto them by hand after printing. Nevertheless, content can be placed onto it with the first parameter. +% The content text must not be resized and it must contain odd number of lines. After even number of lines, add |\\ \ | like in +% the below example. +% Usage: |\jewellineslempty| \marg{content} \\ +% +% \begin{lstlisting} +% \frontcover +% {\jewellineslempty +% {Text line 1 \\ Text line 2 \\ \ }} +% \end{lstlisting} +% +% \begin{figure}[H] +% \centering +% \scalebox{0.6}{ +% \frontcover +% {\jewellineslempty +% {Text line 1 \\ Text line 2 \\ \ }}} +% \caption{The \texttt{\textbackslash jewellineslempty} layout} +% \end{figure} +% +% \DescribeMacro{\jeweltitledlempty} The |\jeweltitledlempty| macro creates a layout with an upper title part and a large lower part for content. +% Usage: |\jeweltitledlempty| \marg{title} \marg{content} \\ +% +% \begin{lstlisting} +% \singlesheet +% {\jeweltitledlempty +% {Title} +% {Lots of content \\ More\dots \\ Even more\dots}} +% {}{}{} +% \end{lstlisting} +% +% \begin{figure}[H] +% \centering +% \scalebox{0.6}{ +% \singlesheet +% {\jeweltitledlempty +% {Title} +% {Lots of content \\ More\dots \\ Even more\dots}} +% {}{}{}} +% \caption{The \texttt{\textbackslash jeweltitledlempty} layout} +% \end{figure} +% +% \subsubsection{Keepcase layouts} +% +% \DescribeMacro{\dvdlempty} The |\dvdlempty| macro provides the mandatory empty layout +% for the standard keepcases. It's usage is |\dvdlempty| \marg{content}. +% +% \DescribeMacro{\dvdmovielempty} \DescribeMacro{\dvdmoviel} The |\dvdmoviel| macro is for a movie disk cover. +% Usage: |\dvdmoviel| \marg{title} \marg{original title} \marg{release year} \marg{director} +% \marg{languages} \marg{subtitles} \marg{actors} \marg{comment} \\ +% +% \begin{lstlisting} +% \dvd +% [\dvdlempty{\Large Back text}] +% {\dvdmoviel +% {Movie title (1)} +% {Original title (2)} +% {Release year (3)} +% {Director (4)} +% {Language1 \\ Language2 (5)} +% {Subtitle1 \\ Subtitle2 (6)} +% {Actor1 \\ Actor2 \\ Actor3 \\ Actor4 (7)} +% {Comment, rating, etc. (8)}} +% {spinetext} +% \end{lstlisting} +% +% \begin{figure}[H] +% \centering +% \scalebox{0.45}{\rotatebox{270}{\dvd[\dvdlempty{\Large Back text}]{\dvdmoviel{Movie title (1)}% +% {Original title (2)}{2012 (3)}{Director (4)}{Language1 \\ Language2 (5)}% +% {Subtitle1 \\ Subtitle2 (6)}{Actor1 \\ Actor2 \\ Actor3 \\ Actor4 (7)}{Comment, rating, etc. (8)}}{spinetext}} } +% \caption{Front movie and empty back layouts for DVD keepcase} +% \end{figure} +% +% \DescribeMacro{\bluraylempty} The |\bluraylempty| macro provides the mandatory empty +% layout for the Blu-ray keepcases. It's usage is |\bluraylempty| \marg{content}. +% +% \DescribeMacro{\bluraymovielempty} \DescribeMacro{\bluraymoviel} The |\bluraymoviel| macro is for a Blu-ray movie disk cover. +% Usage: |\bluraymoviel| \marg{title} \marg{original title} \marg{release year} +% \marg{director} \marg{languages} \marg{subtitles} \marg{actors} \marg{comment} \\ +% +% \begin{lstlisting} +% \bluray +% [\bluraylempty{\Large Back text}] +% {\bluraymoviel +% {Movie title (1)} +% {Original title (2)} +% {Release year (3)} +% {Director (4)} +% {Language1 \\ Language2 (5)} +% {Subtitle1 \\ Subtitle2 (6)} +% {Actor1 \\ Actor2 \\ Actor3 \\ Actor4 (7)} +% {Comment, rating, etc. (8)}} +% {spinetext} +% \end{lstlisting} +% +% \begin{figure}[H] +% \centering +% \scalebox{0.45}{\rotatebox{270}{\bluray[\bluraylempty{\Large Back text}]{\bluraymoviel{Movie title (1)}% +% {Original title (2)}{2012 (3)}{Director (4)}{Language1 \\ Language2 (5)}% +% {Subtitle1 \\ Subtitle2 (6)}{Actor1 \\ Actor2 \\ Actor3 \\ Actor4 (7)}{Comment, rating, etc. (8)}}{spinetext}} } +% \caption{Front movie and empty back layouts for Blu-ray keepcase} +% \end{figure} +% +% \subsection{General macros} +% +% These macros are used behind the macros described above. They are made public, with one note: +% keep in mind that these can change during package development, so +% do not be suprised when after a package update, they work differently. +% +% Those parameters that require a length, expect a single, positive integer, for example a counter value. +% The numbers represent length in millimeters. +% +% \DescribeMacro{\keepcase} With |\keepcase|, one can create +% a custom sized keepcase in the format of cover, spine and a backside. It's usage is: +% |\keepcase| \oarg{backtext} \marg{cover text} \marg{spinetext} \marg{cover height} \marg{cover width} \marg{spine width}. +% The cover width refers to one side's width without the spine. +% +% \DescribeMacro{\inlay} With the general |\inlay| macro, one can create +% a custom sized inlay. It's usage is: |\inlay| \marg{text} \marg{inlay width} \marg{inlay height}. +% +% \vspace*{0.5cm} +% +% \subsection{Package Options} +% +% Use package options at the package loading as usual, for example: \\ |\usepackage[nofold,noalign]{simplecd}|. +% +% \begin{description} +% \item[noalign:] Many cover macros are containing some text alignment lengths. Without them, the content would be +% centered vertically in the frames. \label{opt:noalign}The |noalign| option sets these alignment lengths to zero, so one can align the +% contents individually. This option does not affect layout placement. +% +% \item[nofold:] As default, many covers contain folding lines with the same line type as where the pieces must be cut out. +% With the |nofold| option, the folding lines won't be drawn. +% +% \item[spiner:] The |spiner| option rotates all spine texts with $180^\circ$. +% +% \item[nohcenter:] The |nohcenter| option disables the horizontal centering of the contents of all covers, labels and layouts. +% \end{description} +% +% \vspace*{0.5cm} +% +% \section{Font size} +% +% For covers, often a large font is desired. Here is a list of the standard \LaTeX\ sizing macros: +% \begin{itemize} +% \item {\tiny |\tiny|} +% \item {\scriptsize |\scriptsize|} +% \item {\footnotesize |\footnotesize|} +% \item {\small |\small|} +% \item {\normalsize |\normalsize|} +% \item {\large |\large|} +% \item {\Large |\Large|} +% \item {\LARGE |\LARGE|} +% \item {\huge |\huge|} +% \item {\Huge |\Huge|} +% \end{itemize} +% Their use is the same: |{\huge text to be resized}|. +% +% If the largest is still not enough, use the |\scalebox| \marg{ratio} \marg{text} macro: +% \begin{itemize} +% \item \scalebox{4}{ratio is 4} +% \item \scalebox{5}{ratio is 5} +% \item \scalebox{7}{ratio is 7} +% \end{itemize} +% The |\scalebox| macro can be used on many other things, not just text. +% +% All of the above presented methods increase or decrease the font size relative to the document's default font size. +% To create fixed size fonts, use the \textsf{fix-cm} package's |\fontsize| macro. +% +% \section{Troubleshooting} +% +% \begin{description} +% \item[Problem: the text won't fit into a frame.] Suggestions: try to break it into multiple lines, for example with the |\\| macro. +% Decrease the font size. Use scaling to shrink the content with the |\scalebox{ratio}{object}| macro. +% \item[Problem: printed pieces do not fit.] Suggestions: make sure the pieces are appropriate for the selected container. Make sure +% the software used for viewing and printing result file (the PDF/DVI/PS viewer) does not resize the page before printing. +% \item[Problem: the cover won't fit onto one page.] Suggestions: use a large enough paper size. Decrease te margin of the paper with +% the \texttt{geometry} package. An A4 paper with 1cm margins should be able to contain all cover types. +% \item[Problem: the content is not in the vertical center of a cover.] Suggestion: see the \texttt{noalign} +% package option on page \pageref{opt:noalign}. +% \end{description} +% +% \StopEventually{\PrintChanges\PrintIndex} +% +% \section{Implementation} +% +% Used for setting fix font size for spine texts. +% \begin{macrocode} +\RequirePackage{fix-cm} +% \end{macrocode} +% +% Used for calculating lengths +% \begin{macrocode} +\RequirePackage{calc} +% \end{macrocode} +% +% Used for the nofold option +% \begin{macrocode} +\RequirePackage{ifthen} +% \end{macrocode} + +% Used for drawing, resizing, rotating +% \begin{macrocode} +\RequirePackage{graphicx} +% \end{macrocode} + +%% The |noalign| option sets all text aligning lengths to zero. +% \begin{macrocode} +\DeclareOption{noalign}{ + \setlength{\sc@jewelalign}{0cm} + \setlength{\sc@keepcasealign}{0cm} + \setlength{\sc@inalign}{0cm} + \setboolean{sc@align}{false} +} +% \end{macrocode} + +%% Layouts should set this to true to indicate the containing cover +%% to not use align spaces even if noalign is not used +% \begin{macrocode} +\newboolean{sc@layout} +\setboolean{sc@layout}{false} +% \end{macrocode} + + +%% The |nofold| option removes the folding lines on the cut-outs. +% \begin{macrocode} +\DeclareOption{nofold}{ + \setboolean{sc@fold}{false} +} +% \end{macrocode} + + +%% Redefines rotation degrees to rotate spine text with $180^\circ$. +% \begin{macrocode} +\DeclareOption{spiner}{ + \renewcommand{\sc@spinerotone}{270} + \renewcommand{\sc@spinerottwo}{90} +} +% \end{macrocode} + +%% Disables horizontal centering everywhere +% \begin{macrocode} +\DeclareOption{nohcenter}{ + \renewcommand{\sc@centering}{} +} +% \end{macrocode} + +% \begin{macro}{\sc@spinerotone} +% Default rotation degree. \\ +% Usage: |\sc@spinerotone| +% \begin{macrocode} +\newcommand{\sc@spinerotone}{90} +% \end{macrocode} +% \end{macro} + +% \begin{macro}{\sc@spinerottwo} +% Default rotation degree. \\ +% Usage: |\sc@spinerottwo| +% \begin{macrocode} +\newcommand{\sc@spinerottwo}{270} +% \end{macrocode} +% \end{macro} + +%% Boolean for indicating whether or not the folding lines need to be drawn. True value means to draw. +% \begin{macrocode} +\newboolean{sc@fold} +\setboolean{sc@fold}{true} +% \end{macrocode} + +%% Boolean for indicating whether or not the default aligning is needed. +% \begin{macrocode} +\newboolean{sc@align} +\setboolean{sc@align}{true} +% \end{macrocode} + +% \begin{macro}{\sc@truestr} +% Stores the string that is used to indicate to always draw a border in |\sc@choicebox|. \\ +% Usage: |\sc@truestr| +% \begin{macrocode} +\newcommand{\sc@truestr}{t} +% \end{macrocode} +% \end{macro} + +% \begin{macro}{\sc@falsestr} +% Stores the string that is used to indicate to not draw a border in |\sc@choicebox| if nofold option is set. \\ +% Usage: |\sc@falsestr| +% \begin{macrocode} +\newcommand{\sc@falsestr}{f} +% \end{macrocode} +% \end{macro} + +% \begin{macro}{\sc@centering} +% Centering alias to allow disabling the centering, see novcenter package option +% Usage: |\sc@centering| +% \begin{macrocode} +\newcommand{\sc@centering}{\centering} +% \end{macrocode} +% \end{macro} + +% \begin{macro}{\sc@unittype} +% Unit type for all lengths. \\ +% Usage: |\sc@unittype| +% \begin{macrocode} +\newcommand{\sc@unittype}{mm} +% \end{macrocode} +% \end{macro} + +% Setting unit length for drawing +% \begin{macrocode} +\newcommand{\sc@picinit}{% + \setlength{\unitlength}{1\sc@unittype}% +} +% \end{macrocode} + +%% Text aligning lengths +% These lengths ensure that the text is not in the vertical center of a cell, +% instead, they are little above of the center. +% \begin{macrocode} +\newlength{\sc@jewelalign} +\setlength{\sc@jewelalign}{15 \sc@unittype} +\newlength{\sc@keepcasealign} +\setlength{\sc@keepcasealign}{40 \sc@unittype} +\newlength{\sc@inalign} +\setlength{\sc@inalign}{30 \sc@unittype} +% \end{macrocode} + +% Dimension names are created as follows: prefixed with |sc@|, then some letters for +% identifying the case, then place, then width or height and the draw word. + +%% CD jewel case dimensions +% \begin{macrocode} +\newcounter{sc@cdjccoverwidthdraw} +\setcounter{sc@cdjccoverwidthdraw}{120} +\newcounter{sc@cdjccoverheightdraw} +\setcounter{sc@cdjccoverheightdraw}{120} +\newcounter{sc@cdjcspinewidthdraw} +\setcounter{sc@cdjcspinewidthdraw}{6} +\newcounter{sc@cdjcbackheightdraw} +\setcounter{sc@cdjcbackheightdraw}{117} +\newcounter{sc@cdjcbackwidthdraw} +\setcounter{sc@cdjcbackwidthdraw}{151} +\newcounter{sc@cdjcbackinwidthdraw} +\setcounter{sc@cdjcbackinwidthdraw}{% + \value{sc@cdjcbackwidthdraw} - 2*\value{sc@cdjcspinewidthdraw}} +% \end{macrocode} + +%% Mini disk dimensions +% \begin{macrocode} +\newcounter{sc@cdLXXXjccoverwidthdraw} +\setcounter{sc@cdLXXXjccoverwidthdraw}{80} +\newcounter{sc@cdLXXXjccoverheightdraw} +\setcounter{sc@cdLXXXjccoverheightdraw}{80} +\newcounter{sc@cdLXjccoverwidthdraw} +\setcounter{sc@cdLXjccoverwidthdraw}{60} +\newcounter{sc@cdLXjccoverheightdraw} +\setcounter{sc@cdLXjccoverheightdraw}{60} +% \end{macrocode} + +%% Jewelcase spine fixed text font size +% \begin{macro}{\sc@cdjfontsize} +% Usage: |\sc@cdjfontsize| +% \begin{macrocode} +\newcommand{\sc@cdjfontsize}{15} +% \end{macrocode} +% \end{macro} + +%% DVD keepcase dimensions +% \begin{macrocode} +\newcounter{sc@dvdkccoverwidthdraw} +\setcounter{sc@dvdkccoverwidthdraw}{128} +\newcounter{sc@dvdkccoverheightdraw} +\setcounter{sc@dvdkccoverheightdraw}{183} +\newcounter{sc@dvdkcspinewidthdraw} +\setcounter{sc@dvdkcspinewidthdraw}{14} +\newcounter{sc@dvdkcinletwidthdraw} +\setcounter{sc@dvdkcinletwidthdraw}{115} +\newcounter{sc@dvdkcinletheightdraw} +\setcounter{sc@dvdkcinletheightdraw}{175} +% \end{macrocode} + +% Slim DVD keepcase dimensions +% \begin{macrocode} +\newcounter{sc@sdvdkcspinewidthdraw} +\setcounter{sc@sdvdkcspinewidthdraw}{7} +% \end{macrocode} + +%% Blu-ray keepcase dimensions +% \begin{macrocode} +\newcounter{sc@brcoverheightdraw} +\setcounter{sc@brcoverheightdraw}{149} +\newcounter{sc@brinletwidthdraw} +\setcounter{sc@brinletwidthdraw}{115} +\newcounter{sc@brinletheightdraw} +\setcounter{sc@brinletheightdraw}{140} +% \end{macrocode} + +%% Dimensions for drawing the sleeves +% \begin{macrocode} +\newcounter{sc@dssleeve} +\setcounter{sc@dssleeve}{15} +\newcounter{sc@dssleeveLXXXmm} +\setcounter{sc@dssleeveLXXXmm}{10} +\newcounter{sc@dssleeveLXmm} +\setcounter{sc@dssleeveLXmm}{8} +% \end{macrocode} + +% \begin{macrocode} +\ProcessOptions\relax +% \end{macrocode} + +%% Temporary counters for the implementation. +% \begin{macrocode} +\newcounter{sc@tempa} +\newcounter{sc@tempb} +\newcounter{sc@tempc} +\newcounter{sc@tempd} +\newcounter{sc@tempe} +\newcounter{sc@tempf} +\newcounter{sc@tempg} +\newcounter{sc@layouttempa} +\newcounter{sc@layouttempb} +\newcounter{sc@layouttempc} +\newcounter{sc@resizertempa} +% \end{macrocode} + +% Puts the desired vspace if the amount is not null and no layout is currently being used +% \begin{macrocode} +\newcommand{\sc@doalign}[1]{% + \ifthenelse{\equal{#1}{} \OR \boolean{sc@layout}}{}{\ \\ \vspace{#1}}% + \setboolean{sc@layout}{false}% +} +% \end{macrocode} + +% The covers are drawed inside the \texttt{picture} environment. The text is always placed inside a |\parbox| . +% +% The space produced with the |\vspace| macros are for aligning purposes. Without them, the texts would be +% vertically centered in the cell. + +% \begin{macro}{\covers} +% Creates a jewel case cover with a front and a backsheet. +% Usage: |\covers| \oarg{backsheet text} \marg{cover title} \marg{spine text} +% \begin{macrocode} +\DeclareRobustCommand{\covers}[3][\ ]{% + \frontcover{#2} + + \vspace*{0.5cm}% + \backsheet[#1]{#3}% +} +% \end{macrocode} +% \end{macro} + +% \begin{macro}{\frontcover} +% Creates front cover for a jewel case. +% Usage: |\frontcover| \marg{cover title} +% \begin{macrocode} +\DeclareRobustCommand{\frontcover}[1]{% + \sc@cell{#1}{\value{sc@cdjccoverwidthdraw}}% + {\value{sc@cdjccoverheightdraw}}% + {\sc@jewelalign}% +} +% \end{macrocode} +% \end{macro} + +% \begin{macro}{\LXfrontcover} +% Creates front cover for a 60 millimeter jewel case. +% Usage: |\LXfrontcover| \marg{cover title} +% \begin{macrocode} +\DeclareRobustCommand{\LXfrontcover}[1]{% + \sc@cell{#1}{\value{sc@cdLXjccoverwidthdraw}}% + {\value{sc@cdLXjccoverheightdraw}}% + {\sc@jewelalign}% +} +% \end{macrocode} +% \end{macro} + +% \begin{macro}{\LXXXfrontcover} +% Creates front cover for a 80 millimeter jewel case. +% Usage: |\LXXXfrontcover| \marg{cover title} +% \begin{macrocode} +\DeclareRobustCommand{\LXXXfrontcover}[1]{% + \sc@cell{#1}{\value{sc@cdLXXXjccoverwidthdraw}}% + {\value{sc@cdLXXXjccoverheightdraw}}% + {\sc@jewelalign}% +} +% \end{macrocode} +% \end{macro} + +% Rotating for one of the spine texts. Also used in |\singlesheet| +% \begin{macrocode} +\newcounter{sc@backsheetspinerot} +\setcounter{sc@backsheetspinerot}{180+\sc@spinerotone} +% \end{macrocode} + +% \begin{macro}{\backsheet} +% Creates backsheet for a jewel case with 2 spines. +% Usage: |\backsheet| \oarg{backsheet middle text} \marg{spine text} +% \begin{macrocode} +\DeclareRobustCommand{\backsheet}[2][\ ]{% + \sc@picinit% + \begin{picture}% + (\value{sc@cdjcbackwidthdraw}, \value{sc@cdjcbackheightdraw})% + \sc@choicebox{\value{sc@cdjcspinewidthdraw}}% + {\value{sc@cdjcbackheightdraw}}% + {\rotatebox{\sc@spinerotone}% + {\fontsize{\sc@cdjfontsize}{36}\selectfont #2}}% + {\sc@truestr}{\sc@truestr}{\sc@truestr}{\sc@falsestr}% + \sc@choicebox{\value{sc@cdjcbackinwidthdraw}}% + {\value{sc@cdjcbackheightdraw}}% + {\parbox[c]{\value{sc@cdjcbackinwidthdraw} \sc@unittype}{% + \sc@centering #1\sc@doalign{\sc@jewelalign}}}% + {\sc@truestr}{\sc@truestr}{\sc@falsestr}{\sc@falsestr}% + \sc@choicebox{\value{sc@cdjcspinewidthdraw}}% + {\value{sc@cdjcbackheightdraw}}% + {\rotatebox{\value{sc@backsheetspinerot}}{% + \fontsize{\sc@cdjfontsize}{36}\selectfont #2}}% + {\sc@truestr}{\sc@truestr}{\sc@falsestr}{\sc@truestr}% + \end{picture}% +} +% \end{macrocode} +% \end{macro} + +% \begin{macro}{\jewelspine} +% Creates a single spine for a jewel case. +% Usage: |\jewelspine| \marg{text} +% \begin{macrocode} +\DeclareRobustCommand{\jewelspine}[1]{% + \sc@picinit% + \begin{picture}% + (\value{sc@cdjccoverheightdraw}, \value{sc@cdjcspinewidthdraw})% + \framebox% + (\value{sc@cdjccoverheightdraw}, \value{sc@cdjcspinewidthdraw})% + {\fontsize{\sc@cdjfontsize}{36}\selectfont #1}% + \end{picture}% +} +% \end{macrocode} +% \end{macro} + +% \begin{macro}{\singlesheet} +% Creates a single sheet for a special jewel case. +% Usage: |\singlesheet| \marg{front} \marg{front side} \marg{spine} \marg{back} +% \begin{macrocode} +\DeclareRobustCommand{\singlesheet}[4]{% + \sc@picinit% + \begin{picture}(155,120)% + \put(0,2){% + \sc@choicebox{15}{116}% + {\rotatebox{90}{\parbox[c]{116\sc@unittype}{\sc@centering #4}}}% + {\sc@truestr}{\sc@truestr}{\sc@truestr}{\sc@falsestr}}% + \put(15,2){% + \sc@choicebox{3}{116}% + {\rotatebox{\value{sc@backsheetspinerot}}{\fontsize{9}{36}\selectfont #3}}% + {\sc@truestr}{\sc@truestr}{\sc@falsestr}{\sc@falsestr}}% + \put(36,0){% + \makebox(120,120)[c]{% + \parbox[c]{120\sc@unittype}{% + \sc@centering #1\sc@doalign{\sc@jewelalign}}}}% + \put(18,2){% + \makebox(18,120)[c]{% + \rotatebox{270}{\parbox[c]{18\sc@unittype}{\sc@centering #2}}}}% + \put(18,2){\line(1,0){18}}% + \put(18,118){\line(1,0){18}}% + \put(36,0){\line(0,1){2}}% + \put(36,118){\line(0,1){2}}% + \put(36,0){\line(1,0){119}}% + \put(36,120){\line(1,0){119}}% + \put(155,0){\line(0,1){120}}% + \end{picture}% +} +% \end{macrocode} +% \end{macro} + +% \begin{macro}{\sc@sleeve} +% Creates a custom-sized sleeve for cutting out and glueing together. +% Usage: |\sc@sleeve| \oarg{other side middle text} \marg{middle text} \marg{sleeve length} +% \marg{cover height} \marg{cover width} \marg{sleeve drawing} +% \begin{macrocode} +\DeclareRobustCommand{\sc@sleeve}[6][]{% + \setcounter{sc@tempc}{#5 + 2}% + \setcounter{sc@tempd}{#4 + 2}% + \setcounter{sc@tempe}{\value{sc@tempc} + #3 *2}% + \setcounter{sc@tempf}{2 * \value{sc@tempd} + #3}% + \setcounter{sc@tempg}{2 * \value{sc@tempd}}% + \sc@picinit% + \begin{picture}(\value{sc@tempe}, \value{sc@tempf})% + \put(0,\value{sc@tempd}){#6}% + \put(#3,\value{sc@tempf}){\rotatebox{270}{#6}}% + \put(\value{sc@tempe},\value{sc@tempg}){\rotatebox{180}{#6}}% + \put(#3,\value{sc@tempd}){% + \sc@choicebox{\value{sc@tempc}}{\value{sc@tempd}}{% + \parbox[c]{\value{sc@tempc} \sc@unittype}{% + \sc@centering #2\sc@doalign{\sc@jewelalign}}% + }{\sc@falsestr}{\sc@falsestr}{\sc@falsestr}{\sc@falsestr}% + }% + \put(#3,0){% + \sc@choicebox{\value{sc@tempc}}{\value{sc@tempd}}{% + \rotatebox{180}{\parbox[c]{\value{sc@tempc} \sc@unittype}{% + \sc@centering #1\sc@doalign{\sc@jewelalign}}}% + }{\sc@truestr}{\sc@falsestr}{\sc@truestr}{\sc@truestr}% + }% + \end{picture}% +} +% \end{macrocode} +% \end{macro} + +% \begin{macro}{\sc@sleevebox} +% Draws a fold part of the sleeve. +% Usage: |\usebox{\sc@sleevebox}| +% \begin{macrocode} +\newsavebox{\sc@sleevebox} +\savebox{\sc@sleevebox}{% + \sc@picinit% + \setcounter{sc@tempa}{\value{sc@cdjccoverheightdraw} + 2}% + \put(\value{sc@dssleeve},0){\line(-1,1){\value{sc@dssleeve}}}% + \put(0,\value{sc@dssleeve}){\line(0,1){92}}% + \put(\value{sc@dssleeve},\value{sc@tempa}){% + \line(-1,-1){\value{sc@dssleeve}}}% +} +% \end{macrocode} +% \end{macro} + +% \begin{macro}{\sc@sleeveboxLXmm} +% Draws a fold part of the 60 mm sleeve. +% Usage: |\usebox{\sc@sleeveboxLXmm}| +% \begin{macrocode} +\newsavebox{\sc@sleeveboxLXmm} +\savebox{\sc@sleeveboxLXmm}{% + \sc@picinit% + \setcounter{sc@tempa}{\value{sc@cdLXjccoverheightdraw} + 2}% + \put(\value{sc@dssleeveLXmm},0)% + {\line(-1,1){\value{sc@dssleeveLXmm}}}% + \put(0,\value{sc@dssleeveLXmm}){\line(0,1){46}}% + \put(\value{sc@dssleeveLXmm},\value{sc@tempa}){% + \line(-1,-1){\value{sc@dssleeveLXmm}}}% +} +% \end{macrocode} +% \end{macro} + +% \begin{macro}{\sc@sleeveboxLXXXmm} +% Draws a fold part of the 80 mm sleeve. +% Usage: |\usebox{\sc@sleeveboxLXXXmm}| +% \begin{macrocode} +\newsavebox{\sc@sleeveboxLXXXmm} +\savebox{\sc@sleeveboxLXXXmm}{% + \sc@picinit% + \setcounter{sc@tempa}{\value{sc@cdLXXXjccoverheightdraw} + 2}% + \put(\value{sc@dssleeveLXXXmm},0)% + {\line(-1,1){\value{sc@dssleeveLXXXmm}}}% + \put(0,\value{sc@dssleeveLXXXmm}){\line(0,1){62}}% + \put(\value{sc@dssleeveLXXXmm},\value{sc@tempa}){% + \line(-1,-1){\value{sc@dssleeveLXXXmm}}}% +} +% \end{macrocode} +% \end{macro} + +% \begin{macro}{\sleeve} +% Creates a disk sleeve for cutting out and glueing together. +% Usage: |\sleeve| \oarg{other side middle text} \marg{middle text} +% \begin{macrocode} +\DeclareRobustCommand{\sleeve}[2][]{% + \sc@sleeve[#1]{#2}{\value{sc@dssleeve}}% + {\value{sc@cdjccoverheightdraw}}% + {\value{sc@cdjccoverwidthdraw}}% + {\usebox{\sc@sleevebox}}% +} +% \end{macrocode} +% \end{macro} + +% \begin{macro}{\sleeveLXXX} +% Creates a 80 millimeter disk sleeve for cutting out and glueing together. +% Usage: |\sleeveLXXX| \oarg{other side middle text} \marg{middle text} +% \begin{macrocode} +\DeclareRobustCommand{\sleeveLXXX}[2][]{% + \sc@sleeve[#1]{#2}{\value{sc@dssleeveLXXXmm}}% + {\value{sc@cdLXXXjccoverheightdraw}}% + {\value{sc@cdLXXXjccoverwidthdraw}}% + {\usebox{\sc@sleeveboxLXXXmm}}% +} +% \end{macrocode} +% \end{macro} + +% \begin{macro}{\sleeveLX} +% Creates a 60 millimeter disk sleeve for cutting out and glueing together. +% Usage: |\sleeveLX| \oarg{other side middle text} \marg{middle text} +% \begin{macrocode} +\DeclareRobustCommand{\sleeveLX}[2][]{% + \sc@sleeve[#1]{#2}{\value{sc@dssleeveLXmm}}% + {\value{sc@cdLXjccoverheightdraw}}% + {\value{sc@cdLXjccoverwidthdraw}}% + {\usebox{\sc@sleeveboxLXmm}}% +} +% \end{macrocode} +% \end{macro} + + + +% \begin{macro}{\sleevela} +% Creates a disk sleeve for lever arch files. +% Usage: |\sleevela| \oarg{back text} \marg{front text} +% \begin{macrocode} +\DeclareRobustCommand{\sleevela}[2][]{% + \sc@picinit% + \begin{picture}(165,248)% + \put(13,0){\usebox{\sc@sleevebox}}% + \put(165,122){\rotatebox{180}{\usebox{\sc@sleevebox}}}% + \put(28,0){% + \sc@choicebox{122}{122}{% + \rotatebox{180}{% + \parbox[c]{122\sc@unittype}{\sc@centering #1\sc@doalign{\sc@jewelalign}}% + }}{\sc@truestr}{\sc@falsestr}{\sc@falsestr}{\sc@falsestr}% + }% + \put(28,122){% + \sc@choicebox{122}{122}{% + \parbox[c]{122\sc@unittype}{\sc@centering #2\sc@doalign{\sc@jewelalign}}% + }{\sc@falsestr}{\sc@truestr}{\sc@falsestr}{\sc@truestr}% + }% + \put(0,122){% + \sc@choicebox{28}{122}{}% + {\sc@truestr}{\sc@truestr}{\sc@truestr}{\sc@falsestr}}% + \put(14,142.5){\circle{6}}% + \put(14,222.5){\circle{6}}% + \end{picture}% +} +% \end{macrocode} +% \end{macro} + + +% \begin{macro}{\keepcase} +% Universal macro for creating keepcases in various sizes. +% Usage: |\keepcase| \oarg{backtext} \marg{cover text} \marg{spinetext} \marg{cover height} +% \marg{cover width} \marg{spine width} +% \begin{macrocode} +\DeclareRobustCommand{\keepcase}[6][]{% + \setcounter{sc@tempa}{2*#5 + #6 }% + \sc@picinit% + \begin{picture}(#4, \value{sc@tempa})% + \rotatebox{90}{% + \sc@choicebox{#5}{#4}{% + \parbox[c]{#5 \sc@unittype}{% + \sc@centering #1\sc@doalign{\sc@keepcasealign}}% + }{\sc@truestr}{\sc@truestr}{\sc@truestr}{\sc@falsestr}% + \sc@choicebox{#6}{#4}{% + \rotatebox{\sc@spinerottwo}{\parbox[c]{#4 \sc@unittype}{% + \sc@centering #3}}% + }{\sc@truestr}{\sc@truestr}{\sc@falsestr}{\sc@falsestr}% + \sc@choicebox{#5}{#4}{% + \parbox[c]{#5 \sc@unittype}{% + \sc@centering #2\sc@doalign{\sc@keepcasealign}}% + }{\sc@truestr}{\sc@truestr}{\sc@falsestr}{\sc@truestr}% + }% + \end{picture}% +} +% \end{macrocode} +% \end{macro} + +% \begin{macro}{\slimdvd} +% Creates a slim dvd keepcase cover. +% Usage: |\slimdvd| \oarg{back text} \marg{cover text} \marg{spine text} +% \begin{macrocode} +\DeclareRobustCommand{\slimdvd}[3][]{% + \keepcase[#1]{#2}{#3}{\value{sc@dvdkccoverheightdraw}}% + {\value{sc@dvdkccoverwidthdraw}}% + {\value{sc@sdvdkcspinewidthdraw}}% +} +% \end{macrocode} +% \end{macro} + +% \begin{macro}{\dvd} +% Creates a dvd keepcase. +% Usage: |\dvd| \oarg{back text} \marg{cover text} \marg{spine text} +% \begin{macrocode} +\DeclareRobustCommand{\dvd}[3][]{% + \keepcase[#1]{#2}{#3}{\value{sc@dvdkccoverheightdraw}}% + {\value{sc@dvdkccoverwidthdraw}}% + {\value{sc@dvdkcspinewidthdraw}}% +} +% \end{macrocode} +% \end{macro} + +% \begin{macro}{\bluray} +% Creates a Blu-Ray keepcase. +% Usage: |\bluray| \oarg{backtext} \marg{cover text} \marg{spine text} +% \begin{macrocode} +\DeclareRobustCommand{\bluray}[3][]{% + \keepcase[#1]{#2}{#3}{\value{sc@brcoverheightdraw}}% + {\value{sc@dvdkccoverwidthdraw}}% + {\value{sc@dvdkcspinewidthdraw}}% +} +% \end{macrocode} +% \end{macro} + +% \begin{macro}{\coverimg} +% Resizes the image for a jewel case cover. +% Usage: |\coverimg| \parg{picture} +% \begin{macrocode} +\DeclareRobustCommand{\coverimg}[1]{% + \resizebox{\value{sc@cdjccoverwidthdraw} \sc@unittype}{% + \value{sc@cdjccoverheightdraw} \sc@unittype}{#1}% +} +% \end{macrocode} +% \end{macro} + +% \begin{macro}{\backsheetimg} +% Resizes the image for a jewel case backsheet with spines. +% Usage: |\backsheetimg| \parg{picture} +% \begin{macrocode} +\DeclareRobustCommand{\backsheetimg}[1]{% + \resizebox{% + \value{sc@cdjcbackwidthdraw}+\value{sc@cdjcspinewidthdraw}*2% + \sc@unittype}% + {\value{sc@cdjcbackheightdraw} \sc@unittype}{#1}% +} +% \end{macrocode} +% \end{macro} + +% \begin{macro}{\slimdvdimg} +% Resizes an image for the slim dvd keepcase. +% Usage: |\slimdvdimg| \parg{picture} +% \begin{macrocode} +\DeclareRobustCommand{\slimdvdimg}[1]{% + \resizebox{\value{sc@dvdkcheightdraw} \sc@unittype}% + {\value{sc@sdvdkccoverwidthdraw}*2+\value{sc@sdvdkcspinewidthdraw}% + \sc@unittype}{#1}% +} +% \end{macrocode} +% \end{macro} + +% \begin{macro}{\dvdimg} +% Resizes an image for a dvd keepcase. +% Usage: |\dvdimg| \parg{picture} +% \begin{macrocode} +\DeclareRobustCommand{\dvdimg}[1]{% + \resizebox{\value{sc@dvdkcheightdraw} \sc@unittype}% + {\value{sc@dvdkccoverwidthdraw}*2+\value{sc@dvdkcspinewidthdraw}% + \sc@unittype}{#1}% +} +% \end{macrocode} +% \end{macro} + +% \begin{macro}{\blurayimg} +% Resizes an image for the Blu-Ray keepcase. +% Usage: |\blurayimg| \parg{picture} +% \begin{macrocode} +\DeclareRobustCommand{\blurayimg}[1]{% + \resizebox{\value{sc@brcoverheightdraw} \sc@unittype}% + {\value{sc@dvdkccoverwidthdraw}*2+\value{sc@dvdkcspinewidthdraw}% + \sc@unittype}{#1}% +} +% \end{macrocode} +% \end{macro} + +% \begin{macro}{\sc@cell} +% Creates a single cell for a cover, inlay. +% Usage: |\sc@cell| \marg{text} \marg{width} \marg{height} \marg{aligning space} +% \begin{macrocode} +\DeclareRobustCommand{\sc@cell}[4]{% + \sc@picinit% + \begin{picture}(#2,#3)% + \framebox(#2,#3)[c]{% + \parbox[c]{#2 \sc@unittype}{\sc@centering #1\sc@doalign{#4}}% + }% + \end{picture}% +} +% \end{macrocode} +% \end{macro} + +% \begin{macro}{\sc@choicebox} +% Creates a box with configurable borders. If a parameter in 4-7 range is |\sc@truestr|, then +% the appropriate border is drawn. If |\sc@falsestr| or nofold option is used, border is not drawn. +% Usage: |\sc@choicebox| \marg{width} \marg{height} \marg{text} \marg{bottom border} +% \marg{top border} \marg{left border} \marg{right border} +% \begin{macrocode} +\newcommand{\sc@choicebox}[7]{% + \makebox(#1,#2)[c]{% + \parbox[c]{#1 \sc@unittype}{\sc@centering #3}% + }% + \ifthenelse{\boolean{sc@fold} \OR \equal{#4}{\sc@truestr}}% + {\put(-#1,0){\line(1,0){#1}}}{}% + \ifthenelse{\boolean{sc@fold} \OR \equal{#5}{\sc@truestr}}% + {\put(-#1,#2){\line(1,0){#1}}}{}% + \ifthenelse{\boolean{sc@fold} \OR \equal{#6}{\sc@truestr}}% + {\put(-#1,0){\line(0,1){#2}}}{}% + \ifthenelse{\boolean{sc@fold} \OR \equal{#7}{\sc@truestr}}% + {\put(0,0){\line(0,1){#2}}}{}% +} +% \end{macrocode} +% \end{macro} + +% \begin{macro}{\inlay} +% Creates a custom sized inlay. +% Usage: |\inlay| \marg{text} \marg{width} \marg{height} +% \begin{macrocode} +\DeclareRobustCommand{\inlay}[3]{% + \sc@cell{#1}{#2}{#3}{\sc@inalign}% +} +% \end{macrocode} +% \end{macro} + +% \begin{macro}{\dvdinlay} +% Creates an inlay card for a dvd/slimdvd keepcase. +% Usage: |\dvdinlay| \marg{text} +% \begin{macrocode} +\DeclareRobustCommand{\dvdinlay}[1]{% + \inlay{#1}{\value{sc@dvdkcinletwidthdraw}}% + {\value{sc@dvdkcinletheightdraw}}% +} +% \end{macrocode} +% \end{macro} + +% \begin{macro}{\blurayinlay} +% Creates an inlay for a Blu-Ray keepcase. +% Usage: |\blurayinlay| \marg{text} +% \begin{macrocode} +\DeclareRobustCommand{\blurayinlay}[1]{% + \inlay{#1}{\value{sc@brinletwidthdraw}}% + {\value{sc@brinletheightdraw}}% +} +% \end{macrocode} +% \end{macro} + +% \begin{macro}{\djewel} +% Creates a two-page jewel case cover. +% Usage: |\djewel| \marg{first page text} \marg{second page text} +% \begin{macrocode} +\DeclareRobustCommand{\djewel}[2]{% + \setcounter{sc@tempa}{2 * \value{sc@cdjccoverwidthdraw}}% + \sc@picinit% + \begin{picture}(\value{sc@cdjccoverheightdraw}, \value{sc@tempa})% + \rotatebox{90}{% + \sc@choicebox{\value{sc@cdjccoverwidthdraw}}% + {\value{sc@cdjccoverheightdraw}}{% + \parbox[c]{\value{sc@cdjccoverwidthdraw} \sc@unittype}{% + \sc@centering #2\sc@doalign{\sc@jewelalign}}% + }{\sc@truestr}{\sc@truestr}{\sc@truestr}{\sc@falsestr}% + \sc@choicebox{\value{sc@cdjccoverwidthdraw}}% + {\value{sc@cdjccoverheightdraw}}{% + \parbox[c]{\value{sc@cdjccoverwidthdraw} \sc@unittype}{% + \sc@centering #1\sc@doalign{\sc@jewelalign}}% + }{\sc@truestr}{\sc@truestr}{\sc@falsestr}{\sc@truestr}% + }% + \end{picture}% +} +% \end{macrocode} +% \end{macro} + +% \begin{macro}{\floppyIIIV} +% Cover for the 3.5-inch floppy. +% Usage: |\floppyIIIV| \marg{front content} \marg{back content} +% \begin{macrocode} +\DeclareRobustCommand{\floppyIIIV}[2]{% + \sc@picinit% + \begin{picture}(70,69.5)% + \put(-2,66.5){\qbezier(3, 3)(2, 3)(2, 2)}% + \put(1,69.5){\line(1,0){68}}% + \put(66,66.5){\qbezier(4, 2)(4, 3)(3, 3)}% + \put(0,56.5){% + \makebox(70,13)[c]{\rotatebox{180}{\parbox[c]{70mm}{\sc@centering #2}}}}% + \put(0,54){\sc@choicebox{70}{2.5}{}% + {\sc@falsestr}{\sc@falsestr}{\sc@truestr}{\sc@truestr}}% + \put(0,0){\makebox(70,54)[c]{\parbox[c]{70mm}{\sc@centering #1}}}% + \put(0,1){\line(0,1){67.5}}% + \put(70,1){\line(0,1){67.5}}% + \put(1,0){\line(1,0){68}}% + \put(-2,-1){\qbezier(2, 2)(2, 1)(3, 1)}% + \put(66,-1){\qbezier(3, 1)(4, 1)(4, 2)}% + \end{picture}% +} +% \end{macrocode} +% \end{macro} + +% \begin{macro}{\zipdisk} +% Cover for a zip disk. +% Usage: |\zipdisk| \marg{front content} \marg{back content} +% \begin{macrocode} +\DeclareRobustCommand{\zipdisk}[2]{% + \sc@picinit% + \begin{picture}(98,120)% + \put(0,20){\makebox(98,100)[c]{\parbox[c]{98\sc@unittype}{\sc@centering #1}}}% + \put(0,13){\sc@choicebox{98}{7}{}% + {\sc@falsestr}{\sc@falsestr}{\sc@truestr}{\sc@truestr}}% + \put(0,0){% + \makebox(98,13)[c]{% + \rotatebox{180}{\parbox[c]{98\sc@unittype}{\sc@centering #2}}}}% + \put(0,0){\framebox(98,120){}}% + \end{picture}% +} +% \end{macrocode} +% \end{macro} + +% \begin{macro}{\zipdiskII} +% Cover for a zip disk. +% Usage: |\zipdiskII| \marg{content} +% \begin{macrocode} +\DeclareRobustCommand{\zipdiskII}[1]{% + \sc@cell{#1}{60}{51}{}% +} +% \end{macrocode} +% \end{macro} + +% \begin{macro}{\disk} +% Creates a CD-R image. +% Usage: |\disk| \marg{content} +% \begin{macrocode} +\DeclareRobustCommand{\disk}[1]{% + \sc@picinit% + \begin{picture}(120,120)% + % Ellipse: u = 60.0 v = 60.0 a = 60.0 b = 60.0 phi = 0.0 Grad + \qbezier(120.0, 60.0)(120.0, 84.8528)(102.4264, 102.4264)% + \qbezier(102.4264, 102.4264)(84.8528, 120.0)(60.0, 120.0)% + \qbezier(60.0, 120.0)(35.1472, 120.0)(17.5736, 102.4264)% + \qbezier(17.5736, 102.4264)(0.0, 84.8528)(0.0, 60.0)% + \qbezier(0.0, 60.0)(0.0, 35.1472)(17.5736, 17.5736)% + \qbezier(17.5736, 17.5736)(35.1472, 0.0)(60.0, 0.0)% + \qbezier(60.0, 0.0)(84.8528, 0.0)(102.4264, 17.5736)% + \qbezier(102.4264, 17.5736)(120.0, 35.1472)(120.0, 60.0)% + % Ellipse: u = 60.0 v = 60.0 a = 58.0 b = 58.0 phi = 0.0 Grad + \qbezier(118.0, 60.0)(118.0, 84.0244)(101.0122, 101.0122)% + \qbezier(101.0122, 101.0122)(84.0244, 118.0)(60.0, 118.0)% + \qbezier(60.0, 118.0)(35.9756, 118.0)(18.9878, 101.0122)% + \qbezier(18.9878, 101.0122)(2.0, 84.0244)(2.0, 60.0)% + \qbezier(2.0, 60.0)(2.0, 35.9756)(18.9878, 18.9878)% + \qbezier(18.9878, 18.9878)(35.9756, 2.0)(60.0, 2.0)% + \qbezier(60.0, 2.0)(84.0244, 2.0)(101.0122, 18.9878)% + \qbezier(101.0122, 18.9878)(118.0, 35.9756)(118.0, 60.0)% + % Ellipse: u = 60.0 v = 60.0 a = 23.0 b = 23.0 phi = 0.0 Grad + \qbezier(83.0, 60.0)(83.0, 69.5269)(76.2635, 76.2635)% + \qbezier(76.2635, 76.2635)(69.5269, 83.0)(60.0, 83.0)% + \qbezier(60.0, 83.0)(50.4731, 83.0)(43.7365, 76.2635)% + \qbezier(43.7365, 76.2635)(37.0, 69.5269)(37.0, 60.0)% + \qbezier(37.0, 60.0)(37.0, 50.4731)(43.7365, 43.7365)% + \qbezier(43.7365, 43.7365)(50.4731, 37.0)(60.0, 37.0)% + \qbezier(60.0, 37.0)(69.5269, 37.0)(76.2635, 43.7365)% + \qbezier(76.2635, 43.7365)(83.0, 50.4731)(83.0, 60.0)% + % Ellipse: u = 60.0 v = 60.0 a = 11.5 b = 11.5 phi = 0.0 Grad + \qbezier(71.5, 60.0)(71.5, 64.7635)(68.1317, 68.1317)% + \qbezier(68.1317, 68.1317)(64.7635, 71.5)(60.0, 71.5)% + \qbezier(60.0, 71.5)(55.2365, 71.5)(51.8683, 68.1317)% + \qbezier(51.8683, 68.1317)(48.5, 64.7635)(48.5, 60.0)% + \qbezier(48.5, 60.0)(48.5, 55.2365)(51.8683, 51.8683)% + \qbezier(51.8683, 51.8683)(55.2365, 48.5)(60.0, 48.5)% + \qbezier(60.0, 48.5)(64.7635, 48.5)(68.1317, 51.8683)% + \qbezier(68.1317, 51.8683)(71.5, 55.2365)(71.5, 60.0)% + % Ellipse: u = 60.0 v = 60.0 a = 7.5 b = 7.5 phi = 0.0 Grad + \qbezier(67.5, 60.0)(67.5, 63.1066)(65.3033, 65.3033)% + \qbezier(65.3033, 65.3033)(63.1066, 67.5)(60.0, 67.5)% + \qbezier(60.0, 67.5)(56.8934, 67.5)(54.6967, 65.3033)% + \qbezier(54.6967, 65.3033)(52.5, 63.1066)(52.5, 60.0)% + \qbezier(52.5, 60.0)(52.5, 56.8934)(54.6967, 54.6967)% + \qbezier(54.6967, 54.6967)(56.8934, 52.5)(60.0, 52.5)% + \qbezier(60.0, 52.5)(63.1066, 52.5)(65.3033, 54.6967)% + \qbezier(65.3033, 54.6967)(67.5, 56.8934)(67.5, 60.0)% + \put(0,0){% + \makebox(120,120)[c]{% + \parbox[c]{120\sc@unittype}{\sc@centering #1}% + }}% + \end{picture}% +} +% \end{macrocode} +% \end{macro} + +% \begin{macro}{\emptydisk} +% Creates a CD-R image. +% Usage: |\emptydisk| \marg{content} +% \begin{macrocode} +\DeclareRobustCommand{\emptydisk}[1]{% + \sc@picinit% + \begin{picture}(120,120)% + % Ellipse: u = 60.0 v = 60.0 a = 60.0 b = 60.0 phi = 0.0 Grad + \qbezier(120.0, 60.0)(120.0, 84.8528)(102.4264, 102.4264)% + \qbezier(102.4264, 102.4264)(84.8528, 120.0)(60.0, 120.0)% + \qbezier(60.0, 120.0)(35.1472, 120.0)(17.5736, 102.4264)% + \qbezier(17.5736, 102.4264)(0.0, 84.8528)(0.0, 60.0)% + \qbezier(0.0, 60.0)(0.0, 35.1472)(17.5736, 17.5736)% + \qbezier(17.5736, 17.5736)(35.1472, 0.0)(60.0, 0.0)% + \qbezier(60.0, 0.0)(84.8528, 0.0)(102.4264, 17.5736)% + \qbezier(102.4264, 17.5736)(120.0, 35.1472)(120.0, 60.0)% + % Ellipse: u = 60.0 v = 60.0 a = 7.5 b = 7.5 phi = 0.0 Grad + \qbezier(67.5, 60.0)(67.5, 63.1066)(65.3033, 65.3033)% + \qbezier(65.3033, 65.3033)(63.1066, 67.5)(60.0, 67.5)% + \qbezier(60.0, 67.5)(56.8934, 67.5)(54.6967, 65.3033)% + \qbezier(54.6967, 65.3033)(52.5, 63.1066)(52.5, 60.0)% + \qbezier(52.5, 60.0)(52.5, 56.8934)(54.6967, 54.6967)% + \qbezier(54.6967, 54.6967)(56.8934, 52.5)(60.0, 52.5)% + \qbezier(60.0, 52.5)(63.1066, 52.5)(65.3033, 54.6967)% + \qbezier(65.3033, 54.6967)(67.5, 56.8934)(67.5, 60.0)% + \put(0,0){% + \makebox(120,120)[c]{% + \parbox[c]{120\sc@unittype}{\sc@centering #1}% + }}% + \end{picture}% +} +% \end{macrocode} +% \end{macro} + +% \begin{macro}{\cdrdisk} +% Creates a CD-R image. +% Usage: |\cdrdisk| \marg{content} +% \begin{macrocode} +\DeclareRobustCommand{\cdrdisk}[1]{% + \sc@picinit% + \begin{picture}(116, 116)% + % Ellipse: u = 58.0 v = 58.0 a = 58.0 b = 58.0 phi = 0.0 Grad + \qbezier(116.0, 58.0)(116.0, 82.0244)(99.0122, 99.0122)% + \qbezier(99.0122, 99.0122)(82.0244, 116.0)(58.0, 116.0)% + \qbezier(58.0, 116.0)(33.9756, 116.0)(16.9878, 99.0122)% + \qbezier(16.9878, 99.0122)(0.0, 82.0244)(0.0, 58.0)% + \qbezier(0.0, 58.0)(0.0, 33.9756)(16.9878, 16.9878)% + \qbezier(16.9878, 16.9878)(33.9756, 0.0)(58.0, 0.0)% + \qbezier(58.0, 0.0)(82.0244, 0.0)(99.0122, 16.9878)% + \qbezier(99.0122, 16.9878)(116.0, 33.9756)(116.0, 58.0)% + % Ellipse: u = 58.0 v = 58.0 a = 19.0 b = 19.0 phi = 0.0 Grad + \qbezier(77.0, 58.0)(77.0, 65.8701)(71.435, 71.435)% + \qbezier(71.435, 71.435)(65.8701, 77.0)(58.0, 77.0)% + \qbezier(58.0, 77.0)(50.1299, 77.0)(44.565, 71.435)% + \qbezier(44.565, 71.435)(39.0, 65.8701)(39.0, 58.0)% + \qbezier(39.0, 58.0)(39.0, 50.1299)(44.565, 44.565)% + \qbezier(44.565, 44.565)(50.1299, 39.0)(58.0, 39.0)% + \qbezier(58.0, 39.0)(65.8701, 39.0)(71.435, 44.565)% + \qbezier(71.435, 44.565)(77.0, 50.1299)(77.0, 58.0)% + \put(0,0){% + \makebox(116,116)[c]{% + \parbox[c]{116\sc@unittype}{\sc@centering #1}% + }}% + \end{picture}% +} +% \end{macrocode} +% \end{macro} + +% \begin{macro}{\cddvddisk} +% Creates a CD, DVD image. +% Usage: |\cddvddisk| \marg{content} +% \begin{macrocode} +\DeclareRobustCommand{\cddvddisk}[1]{% + \sc@picinit% + \begin{picture}(117, 117)% + % Ellipse: u = 58.5 v = 58.5 a = 58.5 b = 58.5 phi = 0.0 Grad + \qbezier(117.0, 58.5)(117.0, 82.7315)(99.8657, 99.8657)% + \qbezier(99.8657, 99.8657)(82.7315, 117.0)(58.5, 117.0)% + \qbezier(58.5, 117.0)(34.2685, 117.0)(17.1343, 99.8657)% + \qbezier(17.1343, 99.8657)(0.0, 82.7315)(0.0, 58.5)% + \qbezier(0.0, 58.5)(0.0, 34.2685)(17.1343, 17.1343)% + \qbezier(17.1343, 17.1343)(34.2685, 0.0)(58.5, 0.0)% + \qbezier(58.5, 0.0)(82.7315, 0.0)(99.8657, 17.1343)% + \qbezier(99.8657, 17.1343)(117.0, 34.2685)(117.0, 58.5)% + % Ellipse: u = 58.5 v = 58.5 a = 11.25 b = 11.25 phi = 0.0 Grad + \qbezier(69.75, 58.5)(69.75, 63.1599)(66.455, 66.455)% + \qbezier(66.455, 66.455)(63.1599, 69.75)(58.5, 69.75)% + \qbezier(58.5, 69.75)(53.8401, 69.75)(50.545, 66.455)% + \qbezier(50.545, 66.455)(47.25, 63.1599)(47.25, 58.5)% + \qbezier(47.25, 58.5)(47.25, 53.8401)(50.545, 50.545)% + \qbezier(50.545, 50.545)(53.8401, 47.25)(58.5, 47.25)% + \qbezier(58.5, 47.25)(63.1599, 47.25)(66.455, 50.545)% + \qbezier(66.455, 50.545)(69.75, 53.8401)(69.75, 58.5)% + \put(0,0){% + \makebox(117,117)[c]{% + \parbox[c]{117\sc@unittype}{\sc@centering #1}% + }}% + \end{picture}% +} +% \end{macrocode} +% \end{macro} + +% \begin{macro}{\LXXXdisk} +% Creates a 80 millimeter disk image. +% Usage: |\LXXXdisk| \marg{content} +% \begin{macrocode} +\DeclareRobustCommand{\LXXXdisk}[1]{% + \sc@picinit% + \begin{picture}(76, 76)% + % Ellipse: u = 38.0 v = 38.0 a = 38.0 b = 38.0 phi = 0.0 Grad + \qbezier(76.0, 38.0)(76.0, 53.7401)(64.8701, 64.8701)% + \qbezier(64.8701, 64.8701)(53.7401, 76.0)(38.0, 76.0)% + \qbezier(38.0, 76.0)(22.2599, 76.0)(11.1299, 64.8701)% + \qbezier(11.1299, 64.8701)(0.0, 53.7401)(0.0, 38.0)% + \qbezier(0.0, 38.0)(0.0, 22.2599)(11.1299, 11.1299)% + \qbezier(11.1299, 11.1299)(22.2599, 0.0)(38.0, 0.0)% + \qbezier(38.0, 0.0)(53.7401, 0.0)(64.8701, 11.1299)% + \qbezier(64.8701, 11.1299)(76.0, 22.2599)(76.0, 38.0)% + % Ellipse: u = 38.0 v = 38.0 a = 9.0 b = 9.0 phi = 0.0 Grad + \qbezier(47.0, 38.0)(47.0, 41.7279)(44.364, 44.364)% + \qbezier(44.364, 44.364)(41.7279, 47.0)(38.0, 47.0)% + \qbezier(38.0, 47.0)(34.2721, 47.0)(31.636, 44.364)% + \qbezier(31.636, 44.364)(29.0, 41.7279)(29.0, 38.0)% + \qbezier(29.0, 38.0)(29.0, 34.2721)(31.636, 31.636)% + \qbezier(31.636, 31.636)(34.2721, 29.0)(38.0, 29.0)% + \qbezier(38.0, 29.0)(41.7279, 29.0)(44.364, 31.636)% + \qbezier(44.364, 31.636)(47.0, 34.2721)(47.0, 38.0)% + \put(0,0){% + \makebox(76,76)[c]{% + \parbox[c]{76\sc@unittype}{\sc@centering #1}% + }}% + \end{picture}% +} +% \end{macrocode} +% \end{macro} + +% \begin{macro}{\vhsfront} +% Front label for a VHS cassette. +% Usage: |\vhsfront| \marg{content} +% \begin{macrocode} +\DeclareRobustCommand{\vhsfront}[1]{% + \sc@cell{#1}{76}{44}{}% +} +% \end{macrocode} +% \end{macro} + +% \begin{macro}{\vhsspine} +% Side spine label for a VHS cassette. +% Usage: |\vhsspine| \marg{content} +% \begin{macrocode} +\DeclareRobustCommand{\vhsspine}[1]{% + \sc@cell{#1}{145}{17}{}% +} +% \end{macrocode} +% \end{macro} + +% \begin{macro}{\CCCvhscover} +% Case for a 300 series VHS cassette. +% Usage: |\CCCvhscover| \marg{front} \marg{spine} \marg{back} +% \begin{macrocode} +\DeclareRobustCommand{\CCCvhscover}[3]{% + \keepcase[#3]{#1}{#2}{197}{115}{27}% +} +% \end{macrocode} +% \end{macro} + +% \begin{macro}{\CCCCvhscover} +% Case for a 400 series VHS cassette. +% Usage: |\CCCCvhscover| \marg{front} \marg{spine} \marg{back} +% \begin{macrocode} +\DeclareRobustCommand{\CCCCvhscover}[3]{% + \keepcase[#3]{#1}{#2}{210}{134.5}{27}% +} +% \end{macrocode} +% \end{macro} + +% \begin{macro}{\cassettecover} +% Cover label for an audio cassette. +% Usage: |\cassettecover| \marg{content} +% \begin{macrocode} +\DeclareRobustCommand{\cassettecover}[1]{% + \sc@picinit% + \begin{picture}(88,39)% + % Ellipse: u = 22.0 v = 16.5 a = 7.5 b = 7.5 phi = 0.0 Grad + % \qbezier(29.5, 16.5)(29.5, 19.6066)(27.3033, 21.8033)% + % \qbezier(27.3033, 21.8033)(25.1066, 24.0)(22.0, 24.0)% + \qbezier(22.0, 24.0)(18.8934, 24.0)(16.6967, 21.8033)% + \qbezier(16.6967, 21.8033)(14.5, 19.6066)(14.5, 16.5)% + \qbezier(14.5, 16.5)(14.5, 13.3934)(16.6967, 11.1967)% + \qbezier(16.6967, 11.1967)(18.8934, 9.0)(22.0, 9.0)% + % \qbezier(22.0, 9.0)(25.1066, 9.0)(27.3033, 11.1967)% + % \qbezier(27.3033, 11.1967)(29.5, 13.3934)(29.5, 16.5)% + % Ellipse: u = 66.0 v = 16.5 a = 7.5 b = 7.5 phi = 0.0 Grad + \qbezier(73.5, 16.5)(73.5, 19.6066)(71.3033, 21.8033)% + \qbezier(71.3033, 21.8033)(69.1066, 24.0)(66.0, 24.0)% + % \qbezier(66.0, 24.0)(62.8934, 24.0)(60.6967, 21.8033)% + % \qbezier(60.6967, 21.8033)(58.5, 19.6066)(58.5, 16.5)% + % \qbezier(58.5, 16.5)(58.5, 13.3934)(60.6967, 11.1967)% + % \qbezier(60.6967, 11.1967)(62.8934, 9.0)(66.0, 9.0)% + \qbezier(66.0, 9.0)(69.1066, 9.0)(71.3033, 11.1967)% + \qbezier(71.3033, 11.1967)(73.5, 13.3934)(73.5, 16.5)% + \put(22,9){\line(1,0){44}}% + \put(22,24){\line(1,0){44}}% + \framebox(88,39)[c]{\parbox[c]{88\sc@unittype}{\sc@centering #1}}% + \end{picture}% +} +% \end{macrocode} +% \end{macro} + +% \begin{macro}{\cassetteinlay} +% Cover label for an audio cassette. +% Usage: |\cassetteinlay| \marg{content} +% \begin{macrocode} +\DeclareRobustCommand{\cassetteinlay}[3]{% + \sc@picinit% + \begin{picture}(102,104)% + \put(0,38){% + \sc@choicebox{102}{66}{\parbox[c]{102\sc@unittype}{\sc@centering #1}}% + {\sc@falsestr}{\sc@truestr}{\sc@truestr}{\sc@truestr}}% + \put(0,25){% + \sc@choicebox{102}{13}{\parbox[c]{102\sc@unittype}{\sc@centering #2}}% + {\sc@falsestr}{\sc@falsestr}{\sc@truestr}{\sc@truestr}}% + \put(0,0){% + \sc@choicebox{102}{25}{\parbox[c]{102\sc@unittype}{\sc@centering #3}}% + {\sc@truestr}{\sc@falsestr}{\sc@truestr}{\sc@truestr}}% + \end{picture}% +} +% \end{macrocode} +% \end{macro} + + +% \begin{macro}{\vinylcdcover} +% Cover label for a vinyl CD. +% Usage: |\vinylcdcover| \marg{content} +% \begin{macrocode} +\DeclareRobustCommand{\vinylcdcover}[1]{% + \sc@picinit% + \begin{picture}(65,65)% + % Ellipse: u = 32.5 v = 32.5 a = 32.5 b = 32.5 phi = 0.0 Grad + \qbezier(65.0, 32.5)(65.0, 45.9619)(55.481, 55.481)% + \qbezier(55.481, 55.481)(45.9619, 65.0)(32.5, 65.0)% + \qbezier(32.5, 65.0)(19.0381, 65.0)(9.519, 55.481)% + \qbezier(9.519, 55.481)(0.0, 45.9619)(0.0, 32.5)% + \qbezier(0.0, 32.5)(0.0, 19.0381)(9.519, 9.519)% + \qbezier(9.519, 9.519)(19.0381, 0.0)(32.5, 0.0)% + \qbezier(32.5, 0.0)(45.9619, 0.0)(55.481, 9.519)% + \qbezier(55.481, 9.519)(65.0, 19.0381)(65.0, 32.5)% + % Ellipse: u = 32.5 v = 32.5 a = 8.35 b = 8.35 phi = 0.0 Grad + \qbezier(40.85, 32.5)(40.85, 35.9587)(38.4043, 38.4043)% + \qbezier(38.4043, 38.4043)(35.9587, 40.85)(32.5, 40.85)% + \qbezier(32.5, 40.85)(29.0413, 40.85)(26.5957, 38.4043)% + \qbezier(26.5957, 38.4043)(24.15, 35.9587)(24.15, 32.5)% + \qbezier(24.15, 32.5)(24.15, 29.0413)(26.5957, 26.5957)% + \qbezier(26.5957, 26.5957)(29.0413, 24.15)(32.5, 24.15)% + \qbezier(32.5, 24.15)(35.9587, 24.15)(38.4043, 26.5957)% + \qbezier(38.4043, 26.5957)(40.85, 29.0413)(40.85, 32.5)% + \put(0,0){% + \makebox(65,65)[c]{\parbox[c]{65\sc@unittype}{\sc@centering #1}}}% + \end{picture}% +} +% \end{macrocode} +% \end{macro} + +% \begin{macro}{\recordcover} +% Cover label for a 30 centimeter record. +% Usage: |\recordcover| \marg{content} +% \begin{macrocode} +\DeclareRobustCommand{\recordcover}[1]{% + \sc@picinit% + \begin{picture}(99,99)% + % Ellipse: u = 49.5 v = 49.5 a = 49.5 b = 49.5 phi = 0.0 Grad + \qbezier(99.0, 49.5)(99.0, 70.0036)(84.5018, 84.5018)% + \qbezier(84.5018, 84.5018)(70.0036, 99.0)(49.5, 99.0)% + \qbezier(49.5, 99.0)(28.9964, 99.0)(14.4982, 84.5018)% + \qbezier(14.4982, 84.5018)(0.0, 70.0036)(0.0, 49.5)% + \qbezier(0.0, 49.5)(0.0, 28.9964)(14.4982, 14.4982)% + \qbezier(14.4982, 14.4982)(28.9964, 0.0)(49.5, 0.0)% + \qbezier(49.5, 0.0)(70.0036, 0.0)(84.5018, 14.4982)% + \qbezier(84.5018, 14.4982)(99.0, 28.9964)(99.0, 49.5)% + % Ellipse: u = 49.5 v = 49.5 a = 4.0 b = 4.0 phi = 0.0 Grad + \qbezier(53.5, 49.5)(53.5, 51.1569)(52.3284, 52.3284)% + \qbezier(52.3284, 52.3284)(51.1569, 53.5)(49.5, 53.5)% + \qbezier(49.5, 53.5)(47.8431, 53.5)(46.6716, 52.3284)% + \qbezier(46.6716, 52.3284)(45.5, 51.1569)(45.5, 49.5)% + \qbezier(45.5, 49.5)(45.5, 47.8431)(46.6716, 46.6716)% + \qbezier(46.6716, 46.6716)(47.8431, 45.5)(49.5, 45.5)% + \qbezier(49.5, 45.5)(51.1569, 45.5)(52.3284, 46.6716)% + \qbezier(52.3284, 46.6716)(53.5, 47.8431)(53.5, 49.5)% + \put(0,0){% + \makebox(99,99)[c]{\parbox[c]{99\sc@unittype}{\sc@centering #1}}}% + \end{picture}% +} +% \end{macrocode} +% \end{macro} + +% \begin{macro}{\sc@jewelemptyl} +% Empty jewel layout. +% Usage: |\sc@jewelemptyl| \marg{content} \marg{cover width} \marg{cover height} +% \begin{macrocode} +\DeclareRobustCommand{\sc@jewelemptyl}[3]{% + \setboolean{sc@layout}{true}% + \setcounter{sc@layouttempa}{#2 - 10}% + \setcounter{sc@layouttempb}{#3 - 10}% + \sc@picinit% + \begin{picture}(\value{sc@layouttempa}, \value{sc@layouttempb})% + \framebox(\value{sc@layouttempa}, \value{sc@layouttempb})[c]{#1}% + \end{picture}% +} +% \end{macrocode} +% \end{macro} + +% \begin{macro}{\jewellempty} +% Empty layout border. +% Usage: |\jewellempty| \marg{content} +% \begin{macrocode} +\DeclareRobustCommand{\jewellempty}[1]{% + \setcounter{sc@layouttempa}{\value{sc@cdjccoverwidthdraw} - 10}% + \setcounter{sc@layouttempb}{\value{sc@cdjccoverheightdraw} - 10}% + \sc@jewelemptyl{ + \makebox(\value{sc@layouttempa},\value{sc@layouttempb})[c]{% + \parbox[c]{\value{sc@layouttempa} \sc@unittype}{\sc@centering #1}}}% + {\value{sc@cdjccoverwidthdraw}}% + {\value{sc@cdjccoverheightdraw}}% +} +% \end{macrocode} +% \end{macro} + +% \begin{macro}{\jeweldriverlempty} +% Empty cover layout for a hardware driver disk. +% Usage: |\jeweldriverlempty| \marg{title} \marg{subtitle} \marg{date} \marg{serial} +% \marg{disk version} \marg{right middle cell} \marg{bottom cell} +% \begin{macrocode} +\DeclareRobustCommand{\jeweldriverlempty}[7]{% + \sc@jewelemptyl{% + \put(0,80){% + \framebox(110,30){\parbox[c]{110mm}{\sc@centering\scalebox{4.5}{#1}}}}% + \put(0,60){\framebox(110,20){\parbox[c]{110mm}{\sc@centering\huge #2}}}% + \put(0,50){\framebox(55,10){\parbox[c]{55mm}{\sc@centering #3}}}% + \put(0,40){\framebox(55,10){\parbox[c]{55mm}{\sc@centering #4}}}% + \put(0,30){\framebox(55,10){\parbox[c]{55mm}{\sc@centering #5}}}% + \put(55,30){\framebox(55,30)[t]{% + \parbox[c]{4cm}{% + \vspace{0.5cm}% + \setlength{\baselineskip}{1.5\baselineskip} #6% + }% + }}% + \put(0,0){\framebox(110,30)[t]{% + \parbox[c]{10.5cm}{\vspace{0.5cm} #7}% + }}}% + {\value{sc@cdjccoverwidthdraw}}% + {\value{sc@cdjccoverheightdraw}}% +} +% \end{macrocode} +% \end{macro} + +% \begin{macro}{\jeweldriverl} +% Cover layout for a hardware driver disk. +% Usage: |\jeweldriverl| \marg{title} \marg{subtitle} \marg{date} \marg{serial} +% \marg{disk version} \marg{right middle cell} \marg{bottom cell} +% \begin{macrocode} +\DeclareRobustCommand{\jeweldriverl}[7]{% + \jeweldriverlempty{#1}{#2}{Acquisition date: #3}{Serial: #4}% + {Disk version/ID: #5}{#6}{#7}% +} +% \end{macrocode} +% \end{macro} + +% \begin{macro}{\jewelmusiclempty} +% Cover layout for music disks. +% Usage: |\jewelmusiclempty| \marg{title} \marg{performer} \marg{year} \marg{style} +% \begin{macrocode} +\DeclareRobustCommand{\jewelmusiclempty}[4]{% + \sc@jewelemptyl{% + \put(0,60){% + \makebox(110,40)[c]{\parbox[c]{110mm}{\sc@centering\scalebox{4}{#1}}}}% + \put(0,60){\makebox(110,10)[c]{\parbox[c]{110mm}{\sc@centering\Large #2}}}% + \put(0,15){\makebox(110,20)[c]{\parbox[c]{110mm}{\sc@centering\Large #4}}}% + \put(0,10){\makebox(110,10)[c]{\parbox[c]{110mm}{\sc@centering\Large #3}}}% + }% + {\value{sc@cdjccoverwidthdraw}}% + {\value{sc@cdjccoverheightdraw}}% +} +% \end{macrocode} +% \end{macro} + +% \begin{macro}{\sc@jewelbackemptyl} +% Empty jewel backsheet layout. +% Usage: |\sc@jewelbackemptyl| \marg{content} +% \begin{macrocode} +\DeclareRobustCommand{\sc@jewelbackemptyl}[2]{% + \setboolean{sc@layout}{true}% + \setcounter{sc@layouttempa}{\value{sc@cdjcbackinwidthdraw} - 10}% + \setcounter{sc@layouttempb}{\value{sc@cdjcbackheightdraw} - 10}% + \sc@picinit% + \begin{picture}(\value{sc@layouttempa}, \value{sc@layouttempb})% + \csname#2\endcsname(\value{sc@layouttempa}, \value{sc@layouttempb})[c]{#1}% + \end{picture}% +} +% \end{macrocode} +% \end{macro} + +% \begin{macro}{\jewelbacklempty} +% Empty layout border. +% Usage: |\jewelbacklempty| \marg{content} +% \begin{macrocode} +\DeclareRobustCommand{\jewelbacklempty}[1]{% + \setcounter{sc@layouttempa}{\value{sc@cdjcbackinwidthdraw} - 10}% + \setcounter{sc@layouttempb}{\value{sc@cdjcbackheightdraw} - 10}% + \sc@jewelbackemptyl{% + \parbox[c]{\value{sc@layouttempa} \sc@unittype}{\sc@centering #1}}{framebox}% +} +% \end{macrocode} +% \end{macro} + +% \begin{macro}{\jewelbackIIlempty} +% Empty layout without border. +% Usage: |\jewelbackIIlempty| \marg{content} +% \begin{macrocode} +\DeclareRobustCommand{\jewelbackIIlempty}[1]{% + \setcounter{sc@layouttempa}{\value{sc@cdjcbackinwidthdraw} - 10}% + \setcounter{sc@layouttempb}{\value{sc@cdjcbackheightdraw} - 10}% + \sc@jewelbackemptyl{% + \parbox[c]{\value{sc@layouttempa} \sc@unittype}{#1}}{makebox}% +} +% \end{macrocode} +% \end{macro} + +% \begin{macro}{\LXlempty} +% Empty layout border for 60 millimeter disk covers. +% Usage: |\LXlempty| \marg{content} +% \begin{macrocode} +\DeclareRobustCommand{\LXlempty}[1]{% + \setboolean{sc@layout}{true}% + \setcounter{sc@resizertempa}{\value{sc@cdLXjccoverwidthdraw} - 10}% + \resizebox{\value{sc@resizertempa}\sc@unittype}{!}{% + \sc@jewelemptyl{% + \parbox[c]{\value{sc@resizertempa} \sc@unittype}{\sc@centering #1}}% + {\value{sc@cdLXjccoverwidthdraw}}% + {\value{sc@cdLXjccoverheightdraw}}}% +} +% \end{macrocode} +% \end{macro} + +% \begin{macro}{\LXXXlempty} +% Empty layout border for 80 millimeter disk covers. +% Usage: |\LXXXlempty| \marg{content} +% \begin{macrocode} +\DeclareRobustCommand{\LXXXlempty}[1]{% + \setboolean{sc@layout}{true}% + \setcounter{sc@resizertempa}{\value{sc@cdLXXXjccoverwidthdraw} - 10}% + \resizebox{\value{sc@resizertempa}\sc@unittype}{!}{% + \sc@jewelemptyl{% + \parbox[c]{\value{sc@resizertempa} \sc@unittype}{\sc@centering #1}}% + {\value{sc@cdLXXXjccoverwidthdraw}}% + {\value{sc@cdLXXXjccoverheightdraw}}}% +} +% \end{macrocode} +% \end{macro} + +% \begin{macro}{\LXdriverlempty} +% Driver layout border for 60 millimeter disk covers. +% Usage: |\LXdriverlempty| \marg{title} \marg{subtitle} \marg{date} \marg{serial} +% \marg{version} \marg{right middle cell} \marg{bottom cell} +% \begin{macrocode} +\DeclareRobustCommand{\LXdriverlempty}[7]{% + \setboolean{sc@layout}{true}% + \setcounter{sc@resizertempa}{\value{sc@cdLXjccoverheightdraw} - 10}% + \resizebox{\value{sc@resizertempa}\sc@unittype}{!}{% + \jeweldriverlempty{#1}{#2}{#3}{#4}{#5}{#6}{#7}}% +} +% \end{macrocode} +% \end{macro} + +% \begin{macro}{\LXXXdriverlempty} +% Driver layout border for 80 millimeter disk covers. +% Usage: |\LXXXdriverlempty| \marg{title} \marg{subtitle} \marg{date} \marg{serial} +% \marg{disk version} \marg{right middle cell} \marg{bottom cell} +% \begin{macrocode} +\DeclareRobustCommand{\LXXXdriverlempty}[7]{% + \setboolean{sc@layout}{true}% + \setcounter{sc@resizertempa}{\value{sc@cdLXXXjccoverheightdraw} - 10}% + \resizebox{\value{sc@resizertempa}\sc@unittype}{!}{% + \jeweldriverlempty{#1}{#2}{#3}{#4}{#5}{#6}{#7}}% +} +% \end{macrocode} +% \end{macro} + +% \begin{macro}{\LXdriverl} +% Driver layout border for 60 millimeter disk covers. +% Usage: |\LXdriverl| \marg{title} \marg{subtitle} \marg{date} \marg{serial} +% \marg{disk version} \marg{right middle cell} \marg{bottom cell} +% \begin{macrocode} +\DeclareRobustCommand{\LXdriverl}[7]{% + \LXdriverlempty{#1}{#2}{Acquisition date: #3}{Serial: #4}% + {Disk version/ID: #5}{#6}{#7}% +} +% \end{macrocode} +% \end{macro} + +% \begin{macro}{\LXXXdriverl} +% Driver layout border for 80 millimeter disk covers. +% Usage: |\LXXXdriverl| \marg{title} \marg{subtitle} \marg{date} \marg{serial} +% \marg{disk version} \marg{right middle cell} \marg{bottom cell} +% \begin{macrocode} +\DeclareRobustCommand{\LXXXdriverl}[7]{% + \LXXXdriverlempty{#1}{#2}{Acquisition date: #3}{Serial: #4}% + {Disk version/ID: #5}{#6}{#7}% +} +% \end{macrocode} +% \end{macro} + +% \begin{macro}{\jewelstripeslempty} +% One centered stripe and 2 optional diagonal stripes with content. +% Usage: |\jewelstripeslempty| \marg{center content} \marg{upper right content} \marg{lower left content} +% \begin{macrocode} +\DeclareRobustCommand{\jewelstripeslempty}[3]{% + \setboolean{sc@layout}{true}% + \sc@picinit% + \begin{picture}% + (\value{sc@cdjccoverwidthdraw},\value{sc@cdjccoverheightdraw})% + \put(0,75){\line(1,0){120}}% + \put(0,45){\line(1,0){120}}% + \put(0,45){\makebox(\value{sc@cdjccoverwidthdraw},30)[c]% + {\parbox[c]{\value{sc@cdjccoverwidthdraw}\sc@unittype}{\sc@centering #1}}}% + \ifthenelse{\equal{#2}{}}{}{% + \put(62,117.5){\rotatebox{-40}{% + \put(13.5,15){\line(1,0){49.8}}% + \put(2.2,5){\line(1,0){69.8}}% + \put(5,5){\makebox(60,10)[c]{\parbox[c]{50mm}{\sc@centering #2}}}}}}% + \ifthenelse{\equal{#3}{}}{}{% + \put(-5,29.5){\rotatebox{-40}{% + \put(-6,15){\line(1,0){69.8}}% + \put(2.2,5){\line(1,0){49.8}}% + \put(0,5){\makebox(60,10)[c]{\parbox[c]{50mm}{\sc@centering #3}}}}}}% + \end{picture}% +} +% \end{macrocode} +% \end{macro} + +% \begin{macro}{\jewelgamelempty} +% Empty cover layout for a game disk. +% Usage: |\jewelgamelempty| \marg{title} \marg{release year} \marg{genres} \marg{developer} +% \marg{publisher} \marg{serial} \marg{comment} +% \begin{macrocode} +\DeclareRobustCommand{\jewelgamelempty}[7]{% + \sc@jewelemptyl{% + \put(0,70){% + \framebox(110,40){\parbox[c]{110mm}{\sc@centering\scalebox{3}{#1}}}}% + \put(0,60){\framebox(55,10){\parbox[c]{55mm}{\sc@centering #2}}}% + \put(55,60){\framebox(55,10){\parbox[c]{55mm}{\sc@centering #3}}}% + \put(0,50){\framebox(55,10){\parbox[c]{55mm}{\sc@centering #4}}}% + \put(55,50){\framebox(55,10){\parbox[c]{55mm}{\sc@centering #5}}}% + \put(0,40){\framebox(110,10){\parbox[c]{110mm}{\sc@centering #6}}}%% + \put(0,0){\framebox(110,40)[t]{% + \parbox[c]{105mm}{\vspace{5mm} #7}% + }}}% + {\value{sc@cdjccoverwidthdraw}}% + {\value{sc@cdjccoverheightdraw}}% +} +% \end{macrocode} +% \end{macro} + +% \begin{macro}{\jewelgamel} +% Cover layout for a game disk. +% Usage: |\jewelgamel| \marg{title} \marg{release year} \marg{genres} \marg{developer} +% \marg{publisher} \marg{serial} \marg{comment} +% \begin{macrocode} +\DeclareRobustCommand{\jewelgamel}[7]{% + \jewelgamelempty{#1}{Released: #2}{Genre(s): #3}{Developer: #4}% + {Publisher: #5}{Serial: #6}{#7}% +} +% \end{macrocode} +% \end{macro} + +% \begin{macro}{\jewelflaglempty} +% Empty cover layout in a 3-striped flag format. +% Usage: |\jewelflaglempty| \marg{upper content} \marg{middle content} \marg{lower content} +% \begin{macrocode} +\DeclareRobustCommand{\jewelflaglempty}[3]{% + \sc@jewelemptyl{% + \put(0,73.33){% + \framebox(110,36.66){\parbox[c]{110mm}{\sc@centering #1}}}% + \put(0,36.66){\framebox(110,36.66){\parbox[c]{110mm}{\sc@centering #2}}}% + \put(0,0){\framebox(110,36.66){\parbox[c]{110mm}{\sc@centering #3}}}% + }% + {\value{sc@cdjccoverwidthdraw}}% + {\value{sc@cdjccoverheightdraw}}% +} +% \end{macrocode} +% \end{macro} + +% \begin{macro}{\jewellineslempty} +% Cover with horizontal lines. +% Usage: |\jewellineslempty| \marg{content} +% \begin{macrocode} +\DeclareRobustCommand{\jewellineslempty}[1]{% + \setboolean{sc@layout}{true}% + \sc@picinit% + \begin{picture}% + (\value{sc@cdjccoverwidthdraw},\value{sc@cdjccoverheightdraw})% + \put(5,110){\line(1,0){110}}% + \put(5,100){\line(1,0){110}}% + \put(5,90){\line(1,0){110}}% + \put(5,80){\line(1,0){110}}% + \put(5,70){\line(1,0){110}}% + \put(5,60){\line(1,0){110}}% + \put(5,50){\line(1,0){110}}% + \put(5,40){\line(1,0){110}}% + \put(5,30){\line(1,0){110}}% + \put(5,20){\line(1,0){110}}% + \put(5,10){\line(1,0){110}}% + \put(5,10){% + \makebox(110,110){% + \parbox[c]{110mm}{\sc@centering \setlength\baselineskip{1cm} #1}}}% + \end{picture}% +} +% \end{macrocode} +% \end{macro} + +% \begin{macro}{\jeweltitledlempty} +% Empty cover layout with a top title part and a larger bottom part. +% Usage: |\jeweltitledlempty| \marg{title} \marg{content} +% \begin{macrocode} +\DeclareRobustCommand{\jeweltitledlempty}[2]{% + \setboolean{sc@layout}{true}% + \sc@picinit% + \begin{picture}(\value{sc@cdjccoverwidthdraw}, \value{sc@cdjccoverheightdraw}) + \put(5,100){% + \makebox(110,20){\parbox[c]{110mm}{\sc@centering\huge #1}}}% + \put(5,0){\makebox(110,100){\parbox[c]{110mm}{#2}}}% + \end{picture}% +} +% \end{macrocode} +% \end{macro} + +% \begin{macro}{\dvdmovielempty} +% Cover layout for movie DVDs. +% Usage: |\dvdmovielempty| \marg{title} \marg{original title} \marg{release year} +% \marg{director} \marg{languages} \marg{subtitle} \marg{actors} \marg{comment} +% \begin{macrocode} +\DeclareRobustCommand{\dvdmovielempty}[8]{% + \setboolean{sc@layout}{true}% + \setcounter{sc@layouttempa}{\value{sc@dvdkccoverwidthdraw} - 10}% + \setcounter{sc@layouttempb}{\value{sc@dvdkccoverheightdraw} - 10}% + \sc@picinit% + \begin{picture}(\value{sc@layouttempa}, \value{sc@layouttempb})% + \put(0,140){% + \framebox(118,33)[c]{\parbox[c]{110mm}{\sc@centering\scalebox{3}{#1}}}}% + \put(0,120){% + \framebox(118,20)[c]{\parbox[c]{110mm}{\sc@centering\huge #2}}}% + \put(0,110){\framebox(59,10)[c]{\parbox[c]{50mm}{\sc@centering #3}}}% + \put(0,100){\framebox(59,10)[c]{\parbox[c]{50mm}{#4}}}% + \put(0,70){\framebox(59,30)[c]{\parbox[c]{50mm}{#5}}}% + \put(0,40){\framebox(59,30)[c]{\parbox[c]{50mm}{#6}}}% + \put(59,40){\framebox(59,80)[c]{\parbox[c]{50mm}{#7}}}% + \put(0,0){\framebox(118,40)[t]{\parbox[c]{108mm}{\vspace{0.5cm} #8}}}% + \end{picture}% +} +% \end{macrocode} +% \end{macro} + +% \begin{macro}{\dvdmoviel} +% Cover layout for movie DVDs. +% Usage: |\dvdmoviel| \marg{title} \marg{original title} \marg{release year} +% \marg{director} \marg{languages} \marg{subtitle} \marg{actors} \marg{comment} +% \begin{macrocode} +\DeclareRobustCommand{\dvdmoviel}[8]{% + \dvdmovielempty{#1}{#2}{Released: #3}{Directed by: #4}% + {\underline{Spoken languages:} \\ #5}% + {\underline{Subtitles:} \\ #6}{\underline{Starring:} \\ #7}{#8}% +} +% \end{macrocode} +% \end{macro} + +% \begin{macro}{\dvdlempty} +% Empty layout for DVD keepcases. +% Usage: |\dvdlempty| \marg{content} +% \begin{macrocode} +\DeclareRobustCommand{\dvdlempty}[1]{% + \setboolean{sc@layout}{true}% + \setcounter{sc@layouttempa}{\value{sc@dvdkccoverwidthdraw} - 10}% + \setcounter{sc@layouttempb}{\value{sc@dvdkccoverheightdraw} - 10}% + \sc@picinit% + \begin{picture}(\value{sc@layouttempa}, \value{sc@layouttempb})% + \put(0,0){% + \framebox(\value{sc@layouttempa}, \value{sc@layouttempb})[c]{% + \parbox[c]{\value{sc@layouttempa}\sc@unittype}{\sc@centering #1}}}% + \end{picture}% +} +% \end{macrocode} +% \end{macro} + +% \begin{macro}{\bluraymovielempty} +% Cover layout for movie Blu-rays. +% Usage: |\bluraymovielempty| \marg{title} \marg{original title} \marg{release year} +% \marg{director} \marg{languages} \marg{subtitles} \marg{actors} \marg{comment} +% \begin{macrocode} +\DeclareRobustCommand{\bluraymovielempty}[8]{% + \setboolean{sc@layout}{true}% + \setcounter{sc@layouttempa}{\value{sc@dvdkccoverwidthdraw} - 10}% + \setcounter{sc@layouttempb}{\value{sc@brcoverheightdraw} - 10}% + \sc@picinit% + \begin{picture}(\value{sc@layouttempa}, \value{sc@layouttempb})% + \put(0,120){% + \framebox(118,20)[c]{\parbox[c]{110mm}{\sc@centering\scalebox{3}{#1}}}}% + \put(0,105){% + \framebox(118,15)[c]{\parbox[c]{110mm}{\sc@centering\huge #2}}}% + \put(0,95){\framebox(59,10)[c]{\parbox[c]{50mm}{\sc@centering #3}}}% + \put(0,85){\framebox(59,10)[c]{\parbox[c]{50mm}{#4}}}% + \put(0,55){\framebox(59,30)[c]{\parbox[c]{50mm}{#5}}}% + \put(0,25){\framebox(59,30)[c]{\parbox[c]{50mm}{#6}}}% + \put(59,25){\framebox(59,80)[c]{\parbox[c]{50mm}{#7}}}% + \put(0,0){\framebox(118,25)[t]{\parbox[c]{108mm}{\vspace{0.5cm} #8}}}% + \end{picture}% +} +% \end{macrocode} +% \end{macro} + +% \begin{macro}{\bluraymoviel} +% Cover layout for movie Blu-rays. +% Usage: |\bluraymoviel| \marg{title} \marg{original title} \marg{release year} +% \marg{director} \marg{languages} \marg{subtitles} \marg{actors} \marg{comment} +% \begin{macrocode} +\DeclareRobustCommand{\bluraymoviel}[8]{% + \bluraymovielempty{#1}{#2}{Released: #3}{Directed by: #4}% + {\underline{Spoken languages:} \\ #5}% + {\underline{Subtitles:} \\ #6}{\underline{Starring:} \\ #7}{#8}% +} +% \end{macrocode} +% \end{macro} + +% \begin{macro}{\bluraylempty} +% Empty layout for Blu-ray keepcases. +% Usage: |\bluraylempty| \marg{content} +% \begin{macrocode} +\DeclareRobustCommand{\bluraylempty}[1]{% + \setboolean{sc@layout}{true}% + \setcounter{sc@layouttempa}{\value{sc@dvdkccoverwidthdraw} - 10}% + \setcounter{sc@layouttempb}{\value{sc@brcoverheightdraw} - 10}% + \sc@picinit% + \begin{picture}(\value{sc@layouttempa}, \value{sc@layouttempb})% + \put(0,0){% + \framebox(\value{sc@layouttempa}, \value{sc@layouttempb})[c]{% + \parbox[c]{\value{sc@layouttempa}\sc@unittype}{\sc@centering #1}}}% + \end{picture}% +} +% \end{macrocode} +% \end{macro} +% +% \Finale +\endinput diff --git a/macros/latex/contrib/simplecd/simplecd.ins b/macros/latex/contrib/simplecd/simplecd.ins new file mode 100644 index 0000000000..254c57c793 --- /dev/null +++ b/macros/latex/contrib/simplecd/simplecd.ins @@ -0,0 +1,53 @@ +%%
+%% Copyright (C) 2010-2013 by Daniel Majoros
+%%
+%% This file may be distributed and/or modified under the
+%% conditions of the LaTeX Project Public License, either
+%% version 1.2 of this license or (at your option) any later
+%% version. The latest version of this license is in:
+%%
+%% http://www.latex-project.org/lppl.txt
+%%
+%% and version 1.2 or later is part of all distributions of
+%% LaTeX version 1999/12/01 or later.
+%%
+
+\input docstrip.tex
+\keepsilent
+
+\preamble
+
+This is a generated file.
+
+Copyright (C) 2010-2013 by Daniel Majoros
+
+This file may be distributed and/or modified under the
+conditions of the LaTeX Project Public License, either
+version 1.2 of this license or (at your option) any later
+version. The latest version of this license is in:
+
+ http://www.latex-project.org/lppl.txt
+
+and version 1.2 or later is part of all distributions of
+LaTeX version 1999/12/01 or later.
+
+\endpreamble
+
+\generate{\file{simplecd.sty}{\from{./simplecd.dtx}{package}}}
+
+\obeyspaces
+\Msg{****************************************************}
+\Msg{* *}
+\Msg{* To finish the installation you have to move the *}
+\Msg{* following file into a directory searched by TeX: *}
+\Msg{* *}
+\Msg{* simplecd.sty *}
+\Msg{* *}
+\Msg{* To produce the documentation run the file *}
+\Msg{* simplecd.dtx through LaTeX. *}
+\Msg{* *}
+\Msg{* Happy TeXing! *}
+\Msg{* *}
+\Msg{****************************************************}
+
+\endbatchfile
diff --git a/macros/latex/contrib/simplecd/simplecd.pdf b/macros/latex/contrib/simplecd/simplecd.pdf Binary files differnew file mode 100644 index 0000000000..ce10c8601b --- /dev/null +++ b/macros/latex/contrib/simplecd/simplecd.pdf |