diff options
author | Karl Berry <karl@freefriends.org> | 2006-01-12 23:58:22 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2006-01-12 23:58:22 +0000 |
commit | c6b827c6f5aab4beff40b7bef80e869c6815d826 (patch) | |
tree | 1ed61d883ba88897fbf68a71547b4a7286e57368 /Master/texmf-dist/tex/latex/ltxmisc/abstbook.cls | |
parent | 7f9543ffaf295484b99beae71350a519562df613 (diff) |
ltxmisc
git-svn-id: svn://tug.org/texlive/trunk@1056 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/latex/ltxmisc/abstbook.cls')
-rw-r--r-- | Master/texmf-dist/tex/latex/ltxmisc/abstbook.cls | 266 |
1 files changed, 266 insertions, 0 deletions
diff --git a/Master/texmf-dist/tex/latex/ltxmisc/abstbook.cls b/Master/texmf-dist/tex/latex/ltxmisc/abstbook.cls new file mode 100644 index 00000000000..ff699c941c4 --- /dev/null +++ b/Master/texmf-dist/tex/latex/ltxmisc/abstbook.cls @@ -0,0 +1,266 @@ +% +% 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 +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + + + |