You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
266 lines
9.7 KiB
266 lines
9.7 KiB
%
|
|
% This is second version of the class. It redefines Chapters
|
|
% sections and subsections, in order to use the minitoc style!
|
|
%
|
|
%
|
|
% DESCRIPTION:
|
|
%
|
|
% -``Quick and dirty'' class file for ``book of abstracts''
|
|
% (used for IWEPNM - Kirchberg 1997)
|
|
%
|
|
% - It's getting less Quick and dirty, but it's far from beeing
|
|
% what i want, should be much more flexible for that.
|
|
%
|
|
% -Written by Havlik Denis (havlik@pap.univie.ac.at) 02/1997.
|
|
% -Based on the report class.
|
|
%
|
|
% This .cls file has been written for the conference in Kirchberg.
|
|
% It has been designed to produce a4-size pages,
|
|
% which are later converted into a5. Output is double-sided.
|
|
%
|
|
% Abstracts are suposed to be in separate files, with simple
|
|
% formating (title, name, adress, text).
|
|
%
|
|
% As i have a feeling that many conferences need something
|
|
% like this booklet, i will try to document this file as good as
|
|
% i can. In the case anybody is interesting to use this class,
|
|
% but neads more flexibility or new features, i would be pleased
|
|
% to help. This is a first time ever that i write a Latex class,
|
|
% but i'm learning.
|
|
%
|
|
% Features:
|
|
% -Conferences consist of days and sessions.
|
|
% -In every day there can be one or more sessions, in every
|
|
% session there can be several abstracts. Abstracts appear
|
|
% two on a page, with short name of the session, the number
|
|
% of the abstract and an additional entry WRITTEN ON THE MARGIN.
|
|
% -In the headings, day appears on the even, and session on the odd
|
|
% pages.
|
|
% -For every day, a table of abstracts is printed
|
|
% -names of the authors are automatically added to index of authors
|
|
% (don't forget to run the ``makeindex''!!!)
|
|
%
|
|
% I would like to thank the ``\"Osterreichischen Fonds zur F\"orderung
|
|
% der wissenschaftlichen Forschung'' for financing my work
|
|
% under project Nr. +P10924-PHY. Furthermore, a Linux, and \TeX/\LaTeX
|
|
% comunity, for providing wonderfull free software, that i use for all my
|
|
% work. Special thanks to Jean-Pierre Drucbert
|
|
% Havlik Denis
|
|
%
|
|
% TODO:
|
|
% 1. redefine \titl, \name and \adr, so i can get automatic:
|
|
% indexing of authors and automatic referencing of authors to adress
|
|
% 2. automatic resizing of abstracts to fit other page-sizes,
|
|
% (not only a4) and other margines etc.
|
|
% 3. add formatting stuff like:
|
|
% \newcommand{\titlstyle}{\bf \Large \MakeUppercase}
|
|
% with some logical names and use it consequently for all the macros
|
|
% in the whole class
|
|
% 4. ?%
|
|
%
|
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
|
\NeedsTeXFormat{LaTeX2e}
|
|
\ProvidesClass{abstbook}[1997/02/10 for typseting book of abstracts]
|
|
\DeclareOption{twocolumn}{\OptionNotUsed} % makes no sense to use it...
|
|
% All other options go to ``report'' class.
|
|
\DeclareOption*{\PassOptionsToClass{\CurrentOption}{report}}
|
|
\ProcessOptions
|
|
\LoadClass[a4,twoside]{report}
|
|
\RequirePackage{makeidx} % neaded to make index
|
|
\RequirePackage{graphicx} % neaded to input graphics into booklet.
|
|
%\RequirePackage{minitoc}
|
|
% page - size related stuff. Looks good on my printer...
|
|
\setlength{\unitlength}{1cm}
|
|
%\setlength{\topmargin}{1.5cm}
|
|
\setlength{\hoffset}{-0.8in}
|
|
%\setlength{\voffset}{-1in}
|
|
\setlength{\textwidth}{16.5cm}
|
|
\setlength{\textheight}{24.8cm}
|
|
\setlength{\topskip}{0cm}
|
|
\setlength{\footskip}{0cm}
|
|
\setlength{\oddsidemargin}{1.5cm}
|
|
\setlength{\evensidemargin}{1.5cm}
|
|
\setlength{\marginparsep}{0.3cm}
|
|
\setlength{\marginparwidth}{1.0 cm}
|
|
\setlength{\parindent}{0cm}
|
|
\pagestyle{myheadings} % to get the day - session in headings!
|
|
|
|
% I had to redefine \chapter because i have to use it, if i want
|
|
% mini-tables-of-contents...
|
|
\renewcommand\chapter{\if@openright\cleardoublepage\else\clearpage\fi
|
|
\global\@topnum\z@
|
|
\@afterindentfalse
|
|
\secdef\@chapter\@schapter}
|
|
\def\@makechapterhead#1{\relax} %write nothing...
|
|
\RequirePackage{minitoc}
|
|
|
|
\AtBeginDocument{% this comes after \begin{document}
|
|
\makeindex
|
|
\dominitoc
|
|
\faketableofcontents}
|
|
|
|
\AtEndDocument{\printindex} % dont forget to run the ``makeindex'' program!
|
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
|
%
|
|
% COMMANDS
|
|
%
|
|
\newcounter{Cabstract}[section]
|
|
\newsavebox{\ConferenceDay} % hier comes the name of the day
|
|
\newsavebox{\SessionName} % name of the session
|
|
\newsavebox{\ShortSessionName}% short name of the session
|
|
% Counters for days, sessions and abstracts.
|
|
% hope this will work....
|
|
|
|
\sbox{\ConferenceDay}{}
|
|
\sbox{\SessionName}{}
|
|
\markboth{\usebox{\ConferenceDay}}{\usebox{\SessionName}}
|
|
|
|
\def\mtctitle{\relax}%
|
|
|
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
|
% Command: \conferenceday
|
|
% Usage: \conferenceday{some day}
|
|
% Provides: advances day-counter, adds the day-name to TOC
|
|
% and clears the page
|
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
|
\newcommand{\conferenceday}[1]{%
|
|
\chapter{#1}
|
|
{\Large \bf #1}\par
|
|
\minitoc
|
|
\sbox{\ConferenceDay}{#1}
|
|
\sbox{\SessionName}{#1}
|
|
}
|
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
|
% Command: \sessionname
|
|
% Usage: \sessionname{shortname}{longname}
|
|
% Provides: advances session-counter, adds the session-name to TOC
|
|
% and clears the page
|
|
% Important: I'm not using \section here. Instead, i try to emulate
|
|
% the part that i nead. It worked with my version
|
|
% of minitoc, but didn't work with an older version
|
|
% we had at the university. Bad. Redefining \section
|
|
% would be better, but i can't figure it out.
|
|
% Well, Jean-Pierre Drucbert <Jean-Pierre.Drucbert@onecert.fr>
|
|
% said it should be O.K., so be it.
|
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
|
\newcommand{\sessionname}[2]{%
|
|
\clearpage
|
|
\refstepcounter{section}
|
|
\sbox{\ShortSessionName}{#1}
|
|
\sbox{\SessionName}{#2}
|
|
\addcontentsline{toc}{section}{\MakeUppercase{#2}}
|
|
}
|
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
|
% Following definitions determine how to deal with the abstracts %
|
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
|
|
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
|
% ABSTRACTS SHOULD BE IN SEPARATE FILES, FORMATED LIKE THIS:
|
|
%
|
|
% Abstract example:
|
|
% \index{Name1} \index{Name2}... - this is nessesary for authornames
|
|
% to appear in index!!!
|
|
% \titl{Title of the abstract}
|
|
% \name{A. First$^1$, A. Second$^1$, A. Third$^2$}
|
|
% \adr{1~First address\\
|
|
% 2~Second addrass}
|
|
%
|
|
% \begin{abstr}
|
|
% Abstracts text (in Latex notation). Most of the Latex commands
|
|
% can be used here...
|
|
% \end{abstr}
|
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
|
|
|
% !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
|
% TO DO:
|
|
% I would like to change \name and \adr in such a way that
|
|
%
|
|
% \name[mark1]{name1}
|
|
% \name[mark2]{name2}
|
|
% \name[mark1]{name3}
|
|
% \adr[adr1]{adress1}
|
|
% \adr[adr2]{adress2}
|
|
%
|
|
% produces the same result as one obtained in the previous example
|
|
% and automaticaly includes the names into index list...
|
|
% Unfortunately, i don't know how to do it.
|
|
% !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
|
|
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
|
% COMMANDS TO BE USED IN ABSTRACTS:
|
|
%
|
|
% Title of the abstract
|
|
\newcommand{\titl}[1]{\large \bf \MakeUppercase{#1}\par\medskip}
|
|
% author(s) name(s)
|
|
\newcommand{\name}[1]{\rm \normalsize #1\par\smallskip}
|
|
% author(s) addres(es)
|
|
\newcommand{\adr}[1]{\it \normalsize #1\par\smallskip}
|
|
% enviroment ``abstr''
|
|
\newenvironment{abstr}{\par\medskip \normalsize \rm}{\par\bigskip}
|
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
|
% COMMANDS TO BE USED IN THE MAIN DOCUMENT
|
|
%
|
|
% Command: \loadabstr
|
|
% Usage: \loadabstr[additional]{TOC-entry}{filename.tex}
|
|
% Provides: reserves 1/2 page for the abstract, loads the abstract
|
|
% from the file ``filename.tex'', writes the ``TOC-entry''
|
|
% to table of contents, advances the abstracts-counter
|
|
% and writes the short name of the session, abstract-number
|
|
% and an additional entry to the margin.
|
|
% (We have used the additional entry for the time..)
|
|
%usage: \loadabstr[additional]{toc-entry}{name.tex}
|
|
\newcommand{\loadabstr}[3][\relax]{%
|
|
\stepcounter{Cabstract}
|
|
\par
|
|
\rule[-6cm]{0cm}{12cm} % well, you might nead to change this
|
|
% if you change the size/format of the page
|
|
\marginpar{%
|
|
\large\centering
|
|
#1\par\smallskip
|
|
\usebox{\ShortSessionName}\par\smallskip
|
|
\arabic{Cabstract}}
|
|
\IfFileExists{#3}{%
|
|
\begin{minipage}{16.5cm} % this too...
|
|
\input{#3}
|
|
\end{minipage}}
|
|
{File #3 not found}
|
|
\addcontentsline{toc}{subsection}{#2}
|
|
}
|
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
|
% Command: \loadpsabstr
|
|
% Usage: \loadpsabstr[additional]{toc-entry}{name.ps}{formating}
|
|
% Provides: Some of our abstracts arrived as postscript or with s-mail
|
|
% This commands loads the postscript file, cuts part of it out
|
|
% and puts it on its place, just like \loadabstr does with
|
|
% an latex file. Additional parameter goes directly to
|
|
% ``includegraphics'' (see explanation of graphicx package)
|
|
% try something like: scale=1, bb=2.5cm 16cm 19cm 28cm
|
|
\newcommand{\loadpsabstr}[4][\relax]{%
|
|
\stepcounter{Cabstract}
|
|
\par
|
|
\rule[-6cm]{0cm}{12cm} % well, you might nead to change this
|
|
% if you change the size/format of the page
|
|
\marginpar{%
|
|
\large\centering
|
|
#1\par\smallskip
|
|
\usebox{\ShortSessionName}\par\smallskip
|
|
\arabic{Cabstract}}
|
|
\begin{minipage}{16.5cm} % this too...
|
|
\unitlength 1cm
|
|
\IfFileExists{#3}{%
|
|
\begin{picture}(16.5,12) % and this, too!
|
|
\put(0,0){%
|
|
\includegraphics[%
|
|
angle=0, clip=true, #4]{#3}}
|
|
\end{picture}}
|
|
{File #3 not found!}
|
|
\end{minipage}
|
|
\addcontentsline{toc}{subsection}{#2}
|
|
}
|
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
|
% end of the Kirchberg.cls
|
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
|
|
|
|
|
|
|
|
|
|