\documentstyle[tape]{article} \setlength{\textwidth}{6.5in} \setlength{\textheight}{9in} \setlength{\oddsidemargin}{1in} \renewcommand{\baselinestretch}{1.25} \parindent=15pt \parskip=6pt plus 1pt \pagestyle{plain} \begin{document} \section*{Making Casette Tape Labels using \LaTeX} \begin{flushright} \begin{tabular}{@{}l@{}} Sunil Podar (podar@sbcs)\\ S.U.N.Y.\ at Stony Brook.\\ \end{tabular} \end{flushright} \vspace*{8mm} This document describes a way to maintain a simple ``album database'' and susequently print formatted casette tape labels. The commands to accomplish this have been implemented as a documentstyle option {\tt tape} and should be used with the {\it article} documentstyle, i.e., it should be invoked with the command: \verb|\documentstyle[tape]{article}| A casette has two sides and each side is assumed to hold one {\it album}. Each side of a casette tape label has three major fields of information, depicted in Figure 1.: \begin{description} \item[side\hfill] the textual information that goes on the front-flap. This is where most of the information goes. \item[title\hfill] the title given to the {\it side} that goes on the side face of the casette cover. \item[addendum\hfill] the textual information that goes on the back-flap of the casette tape cover. \end{description} \album{1}{\it side--1}{\it title--1}{\it addendum--1} \album{2}{\it side--2}{\it title--2}{\it addendum--2} \begin{figure}[hb] \begin{center} \renewcommand{\globaltapeid}{\footnotesize global\\tapeid} \small \maketape[tapeid]{1}{2}% \caption[]{The Layout of a Casette Tape Label and the Terminology Used} \end{center} \end{figure} \newpage Each side of the tape in the database is defined using the following command: {\it \verb|\album{|album-id\verb|}{|side\verb|}{|title\verb|}{|addendum\verb|}|} \verb|\album| command defines an album. More precisely, it defines one side of a casette tape. It takes four arguements: first one is a unique label assigned to every album, the other three being {\it side}, {\it title} and {\it addendum}. A tape label holds information for two sides. Following command produces the tape label: {\it \verb|\maketape[|tape-id\verb|]{|album1-id\verb|}{|album2-id\verb|}[|optional tape title\verb|]|} The album entry corresponding to {\it album1-id} goes on the left side of the tape label and those corresponding to {\it album2-id} on the right side. By default, individual titles are picked up from the album definition and formatted to appear under their own sides. If it is desired to have a single title as the case may be if both sides of a tape are by the same composer or group, then a title may be explicitly specified as the last arguement in which case individual titles of the two albums, as specified in their respective \verb|\album| definitions, are ignored. A tape label also has two minor fields of information, that go on the side face of the tape label, on either side of the title. They are: \begin{description} \item[globaltapeid\hfill] This goes on the left side of the title, almost flush with the left edge. This may hold information such as the owner's name. By default, it is empty and may be changed using a \verb|\renewcommand|. \item[tapeid\hfill] This is an identification for individual tapes and goes to the right of the title almost flush with the right edge. \end{description} The width of the box in which the two fields described above are printed, is controlled by a variable \verb|\tapeidwidth| and may be changed using a \verb|\setlength| command. Also, by default, a vertical line is drawn separating the two boxes from the title region. It may be changed by a \verb|\renewcommand| on the parameter \verb|\tapeidmarker| --- one may prefer a $\bullet$ (\verb|$\bullet$|) as the demarcator. The {\it side} and the {\it addendum} fields are set in a \verb|minipage| environment, thus any of the regular paragraph formatting commands of \LaTeX\ may be used; various formatting environments, such as {\tt tabbing}, {\tt tabular}, {\tt itemize}, {\tt enumerate}, etc., can also be used. The other fields, i.e., {\it title}, {\it globaltapeid} and {\it tapeid} are set in a \verb|\parbox| thus only \verb|\\| command may be used with no blank lines in the fields -- a parbox permits only one simple paragraph. Just a reminder: to get indentation on a line following a \verb|\\| command, use \verb|\hspace*| instead of \verb|\hspace|; according to the manual, any \verb|\hspace| after a \verb|\\| is ignored. On the outside of the left hand edge of the tape label, three vertical lines are shown. In addition to enforcing a correct height for each of the three regions, they also serve as an indicator. Their height is invariant and in the case when more text has been typed in a region than will fit on the label, they indicate precisely by how much has the height been overshot. They should, of course, be left out when the label is cut. No choice of fonts or fontsizes is enforced and one is completely free to choose these, although it is suggested that a small-sized font (such as those obtained by \verb|\small|, \verb|\footnotesize| or \verb|\tiny| declarations) be used since the width of the paragraphs is rather small. Also, if more information need to be put than will fit, the inter-line spacing may be reduced using a \verb|\renewcommand| on the parameter \verb|\baselinestretch|. Two tape labels can be fit on a page, and a \verb|\newpage| declaration ought to be placed after every two \verb|\maketape| commands. It is assumed that each \verb|\album| describes one {\it side} of the tape label, which is also usually the case. If one side of a tape contains more than one album then one will have to declare it as a single \verb|\album| description. On the other hand, if a single album, or piece of music spans both sides of a casette tape, its description will have to be broken into two \verb|\album| declarations. The label can be cut out along the outer boundary -- the border lines are meant to be part of the label so the cut should be just along the outer edge of the lines. \section*{General Comments} The tape database is implemented by storing all fields as control sequences, thus it is suggested that the database be constructed using reasonable-sized files; subsequently to make tape labels, only the necessary files be \verb|\input|, otherwise \TeX\ may run out of memory. The tape database has been implemented with the aim that the database files be sharable amongst various users so long as every album has a unique {\it album-id}. In order to load a tape database, all one needs to do is \verb|\input| the appropriate files and subsequently type the \verb|\maketape| commands for each desired pair of albums. Following suggestions are made for conventions to be adopted so as to enable a large community to share files without much effort: \begin{itemize} \item Each album database file have a ``{\tt .bum}'' file-name extension\footnote{music album $\Leftrightarrow$ musical bum --- Benny Hill}. For such files, the extension will have to be explicitly specified in the \verb|\input| statement, otherwise \TeX\ will look for a file with a {\tt .tex} extension. \item Separate files be maintained for different composers or groups. \item Any character can be used in the {\it album-id}, thus following formats are suggested for {\it album-id}'s\\[1mm] \hspace*{0.5in}\verb|filename.#|, or\\ \hspace*{0.5in}\verb|filename[#]|, where {\tt \#} is an integer. For example, one may have a file {\tt mozart1.bum} with various album descriptions of Mozart's compositions, each having an album-id of the form {\tt mozart1.1}, {\tt mozart1.2}, and so on. If a single piece of music spans both sides then we might label the two parts using another level of subscripts, for example {\tt mozart.12.1} and {\tt mozart.12.2}. \end{itemize} The only problem with above conventions is that if two users have a file with identical album-id's then the file will have to be copied and the album-id's changed. Following page contains an example. Commands used to generate the label would be: \leftmargini 25pt \begin{quote} \begin{verbatim} \documentstyle[tape]{article} \renewcommand{\globaltapeid}{\footnotesize\sf Sunil\\Podar} \begin{document} \input{example.bum} \maketape[\sf WC\\12]{vivaldi.1}{vivaldi.2} \end{document} \end{verbatim} \end{quote} \newpage \vspace*{-4mm} {% \input{tape.sty} \input{example.bum} \renewcommand{\globaltapeid}{\footnotesize\sf Sunil\\Podar} \begin{center} \small \maketape[\sf WC\\12]{vivaldi.1}{vivaldi.2} \end{center}% } \renewcommand{\baselinestretch}{0.85} \small\normalsize \noindent The file {\tt example.bum} contains: \begin{quote} \begin{verbatim} \album{vivaldi.1}{\small Vivaldi, Antonio\hfill (1678-1741)\\ \begin{enumerate} \item Concerto in G Major for Two Mandolins, Strings \& Basso Continuo \item Concerto in C Major for Mandolin, Strings \& Basso Continuo \item Concerto in C Major for Two Mandolins, Two Theorboes, Two flutes, Two ``Salmoe'', Two Violins, Cello, Strings \& Basso Continuo \item Concerto a dve Chori in B flat Major, ``Con Violino Discordato'', Strings \& Basso Continuo \end{enumerate} }% {\normalsize\sf Vivaldi\\Mandolin Concertos}% {\small {\it I Solisti Veneti} --- Claudio Scimone\\[1mm] Bonifacio Bianchi, Alessandro Pitrelli --- Mandolins } %%----------------------------------------------------------- \album{vivaldi.2}{\small Vivaldi, Antonio\\[1mm] {\bf \underline{The Four Seasons\rule[-0.7mm]{0mm}{1mm}}} \begin{enumerate} \item SPRING, Concerto No. 1 in E Major \item SUMMER, Concerto No. 2 in G Minor \item AUTUMN, Concerto No. 3 in F Major \item WINTER, Concerto No. 4 in F Minor \end{enumerate} Simon Standage --- Violin\\ Trevor Pinnock --- Harpsichord\\[1mm] {\it The English Chamber Orchestra} on authentic instruments. }% {\normalsize\sf Vivaldi\\The Four Seasons}{} %%----------------------------------------------------------- \end{verbatim} \end{quote} \end{document}