summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/shipunov/cassete.cls
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/tex/latex/shipunov/cassete.cls')
-rw-r--r--Master/texmf-dist/tex/latex/shipunov/cassete.cls91
1 files changed, 91 insertions, 0 deletions
diff --git a/Master/texmf-dist/tex/latex/shipunov/cassete.cls b/Master/texmf-dist/tex/latex/shipunov/cassete.cls
new file mode 100644
index 00000000000..afe5a7d9c6b
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/shipunov/cassete.cls
@@ -0,0 +1,91 @@
+% Author: A. Shipunov (plantago@herba.msu.ru)
+
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesClass{cassete}
+ [2008/02/05 v0.2 Labels for audiocassetes]
+
+\DeclareOption*{\PassOptionsToClass{\CurrentOption}{article}}
+\ProcessOptions\relax
+\LoadClass{article}
+
+\newcounter{A@Side}
+\newcounter{B@Side}
+
+\def\nohyphens{\hyphenpenalty=10000\exhyphenpenalty=10000\relax}
+
+% Main command
+\def\cassete{\@ifstar{\c@ss}{\c@@ss}}
+
+% Without star -- 5 arguments
+\long\def\c@@ss#1#2#3#4#5{%
+\def\Labe@l{\centering\FormatLabel#1}%
+\def\Text@A{\raggedleft\hspace*{-6mm}\SideA\par\vspace{1mm}\raggedright#2}%
+\def\Text@B{\raggedleft\hspace*{-6mm}\SideB\par\vspace{1mm}\raggedright#3}%
+\def\Text@AD{\raggedright#4}%
+\def\Text@BD{\raggedright#5}%
+\begin{center}
+\unitlength=1mm
+ \begin{picture}(100,105)
+ \put(0,0){\dashbox{2}(100,97){}}
+ \put(8,2){\parbox[b][63mm][t]{39.5mm}{\Text@A}}
+ \put(50,0){\rule{.4pt}{67mm}}
+ \put(58.3,2){\parbox[b][63mm][t]{39.5mm}{\Text@B}}
+ \put(0,80){\rule{100mm}{.4pt}}
+ \put(2,69){\parbox[b][9mm][c]{95mm}{\Labe@l}}
+ \put(0,67){\rule{100mm}{.4pt}}
+ \put(8,80){\parbox[b][15mm][t]{39.5mm}{\Text@AD}}
+ \put(50,80){\rule{.4pt}{17mm}}
+ \put(58.3,80){\parbox[b][15mm][t]{39.5mm}{\Text@BD}}
+\end{picture}
+\end{center}
+\setcounter{A@Side}{0}
+\setcounter{B@Side}{0}}
+
+% With star -- 3 arguments
+\long\def\c@ss#1#2#3{%
+\def\Labe@l{\centering\FormatLabel#1}%
+\def\Text@A{\raggedleft\hspace*{-6mm}\SideA\par\vspace{1mm}\raggedright#2}%
+\def\Text@B{\raggedleft\hspace*{-6mm}\SideB\par\vspace{1mm}\raggedright#3}%
+\begin{center}
+\unitlength=1mm
+ \begin{picture}(99,105)
+ \put(0,0){\dashbox{2}(99,105){}}
+ \put(8,38){\parbox[b][65mm][t]{39mm}{\Text@A}}
+ \put(49.5,38){\rule{.4pt}{67mm}}
+ \put(57.8,38){\parbox[b][65mm][t]{39mm}{\Text@B}}
+ \put(0,38){\rule{99mm}{.4pt}}
+ \put(2,27){\parbox[b][9mm][c]{95mm}{\Labe@l}}
+ \put(0,25){\rule{99mm}{.4pt}}
+\end{picture}
+\end{center}
+\setcounter{A@Side}{0}
+\setcounter{B@Side}{0}}
+
+% For separate songs
+\def\AS{\stepcounter{A@Side}\makebox[0pt][r]{\arabic{A@Side}.\ }}
+\def\BS{\stepcounter{B@Side}\makebox[0pt][r]{\arabic{B@Side}.\ }}
+
+% It is possible to redefine them:
+% Sides
+\def\SideAWord{Side A}
+\def\SideBWord{Side B}
+\def\SideA{\textbf\SideAWord}
+\def\SideB{\textbf\SideBWord}
+% Front edge
+\def\FormatLabel{\large\scshape}
+% Putative headers
+\def\SideT#1{\addvspace{.5mm}\hspace*{-6mm}%
+ \parbox{45mm}{\raggedright#1}\vspace{.5mm}}
+
+% Specific layout
+\topmargin=-14mm
+\headheight=0mm
+\headsep=0mm
+\textheight=255mm
+\footskip=0mm
+\textwidth=190mm
+\oddsidemargin=-14mm
+
+\pagestyle{empty}
+\renewcommand{\baselinestretch}{.92}
+\endinput