[OS X TeX] combining pdfs?

Curtis Clifton curt.clifton at mac.com
Sat Feb 5 00:30:42 CET 2005


On Feb 4, 2005, at 12:55 PM, Josep M.Font wrote:

> El 04 feb 2005, a las 18:28, Curtis Clifton escribió:
>
>> On Feb 4, 2005, at 9:00 AM, Gilles Serasset wrote:
>>
>>> I confirm that pdfpages is very interesting, especially if you want  
>>> to produce a pdf for a full proceeding, by combining each articles.  
>>> I did it with rather simple macro that managed the author index,  
>>> table of contents, header/footer with page numbering and  
>>> author/title, etc, without having to do it yourself.
>>
>> I would second this.
>>
>>> If you are interested, I can send you the latex file and macros I  
>>> used to do it.
>>
>> I also have a similar file and macro that I could post if anyone is  
>> interested.
>
> *I* am interested! Thanks in advance.

By popular demand.  Below is the full source for the proceedings for  
FOAL 2004, except for the PDF files of the individual articles and a  
logo.  The LaTeX code is mostly straightforward, though I did use the  
floatflt package to do some hacking with logo placement.  I haven't  
attempted to strip out that code because I don't have time to make sure  
the stripped version typesets.  Of course, the version I provide won't  
typeset unless you happen to have all the included PDFs, but this  
should be enough for you to run with if you have your own PDFs to  
include.

-- Curt

-----------------------------
Here's the code, macros at the top, pdf includes at the bottom,  
workshop specific stuff in the middle:

% $Id: proceedings.tex,v 1.6 2004/03/11 20:08:40 cclifton Exp $
% NOTE: The pdfpages pages used to include the papers requires  
typesetting with pdflatex
\documentclass[twoside,letterpaper,pdftex]{article}

\input{use-full-page}
\usepackage{times}
\usepackage{comment}
\usepackage{pdfpages}
\usepackage{tocloft}
\usepackage{graphicx}
\usepackage{floatflt}
\usepackage{pdfsync}

% ----------------------------------------------------------------------
% Inserts the pdf file for a paper and puts the appropriate entries in  
the table of contents
% optional arg1: offset-x-dimension offset-y-dimension (space separated)
% arg2: pdf file name (no spaces!)
% arg3: paper title
% arg4: paper authors, each wrapped in a \paperauthor command
\newcommand{\insertpaper}[4][0in 0in]{%
   \cleardoublepage%
   \phantomsection%
   \addcontentsline{toc}{section}{#3}
   {#4}
    
\includepdf[pages=- 
,pagecommand={\thispagestyle{plain}},offset={#1}]{#2}%
}

% Used within the \insertpaper command above to typeset each author
\newcommand*{\paperauthor}[1]{%
   \addtocontents{toc}{\hspace*{0.25in}\textit{#1}\par}
}

% Add dotted lines from paper title to page number in the table of  
contents
\renewcommand*{\cftsecdotsep}{\cftdotsep}

% ----------------------------------------------------------------------

\usepackage[pdfborder={0 0  
0},plainpages=false,bookmarksopen=true]{hyperref} % must be last  
package loaded

\setcounter{secnumdepth}{0}

\begin{document}

\pagestyle{empty}

\centerline {
\href{http://www.cs.iastate.edu/ 
FOAL}{\includegraphics[scale=0.5]{banner}}
}

\vfill

\begin{center}
{\LARGE FOAL 2004 Proceedings}\\
{\Large Foundations of Aspect-Oriented Languages\\
\vspace{0.5ex}Workshop at AOSD 2004}\\
~ \\
Curtis Clifton, Ralf L\"{a}mmel, and Gary T. Leavens (editors)\\
  ~ \\
TR \#04-04 \\
March 2004
\end{center}

\vfill

{\bf Keywords:} Aspect-oriented Programming Languages, Aspects,  
Pointcuts, AspectJ, Static Analysis, Modular Reasoning, Specification,  
Verification, TinyAspect, Open Modules, Bisimulation, Encapsulation,  
Formal Semantics, Program Slicing, Implicit Invocation, Model Checking,  
Horizontal Architectures, Superposition, Reactive Systems, Synchronous  
Languages


{\bf 2003 CR Categories:}
%D.1.m [{\em Programming Techniques\/}]
%        Miscellaneous---aspect-oriented programming, reflection;
%D.2.1 [{\em Software Engineering\/}]
%        Requirements/Specifications---languages, methodology, theory,  
tools;
%D.2.4 [{\em Software Engineering\/}]
%        Software/Program Verification---class invariants, correctness  
proofs,
%        formal methods, programming by contract, reliability,  
validation;
D.3.1 [{\em Programming Languages\/}]
         Formal Definitions and Theory---semantics;
D.3.2 [{\em Programming Languages\/}]
         Language classifications---object-oriented languages;
D.3.3 [{\em Programming Languages\/}]
         Language Constructs and Features---control structures, data  
types and structures, abstract data types, polymorphism;
F.3.1 [{\em Logics and Meaning of Programs\/}]
         Specifying and verifying and reasoning about  
programs---assertions,
         logics of programs, pre- and post-conditions, specification
	techniques;
F.3.2 [{\em Logics and Meaning of Programs\/}]
         Semantics of programming languages---operational semantics,  
program analysis;
%F.3.m [{\em Logics and Meaning of Programs\/}]
%        Miscellaneous---reasoning about performance.

\vspace*{0.2in}

~

\begin{center}
Each paper's copyright is held by its author or authors.
\end{center}


\vspace*{0.2in}

\begin{center}
Department of Computer Science \\
226 Atanasoff Hall \\
Iowa State University \\
Ames, Iowa 50011-1041, USA
\end{center}


\cleardoublepage

\setcounter{page}{1}
\pagenumbering{roman}
\pagestyle{plain}

\phantomsection
\pdfbookmark[1]{Contents}{toc}

\tableofcontents

\newpage

\section{Preface}

% Some silly hacking just to get the FOAL logo.  But I enjoy this sort  
of thing...
\newlength{\logoWidth}
\setlength{\logoWidth}{5cm} % change this line to adjust the space  
allocated for the logo
\newlength{\listWidth}
\setlength{\listWidth}{\linewidth}
\addtolength{\listWidth}{-\logoWidth}
\addtolength{\listWidth}{-1pc} % fudging the extra border space from  
floatingfigure

\begin{floatingfigure}[r]{\logoWidth}
\centerline{\href{http://www.cs.iastate.edu/ 
FOAL}{\includegraphics[scale=0.5]{logo}}}
\centerline{\small FOAL logos courtesy of Luca Cardelli}
\end{floatingfigure}


Aspect-oriented programming is a paradigm in software engineering and
programming languages that promises better support for separation of
concerns. The third Foundations of Aspect-Oriented Languages (FOAL)
workshop was held at the Third International Conference on
Aspect-Oriented Software Development in Lancaster, UK, on
March 23, 2004. This workshop was designed to be a forum for research
in formal foundations of aspect-oriented programming languages. The
call for papers announced the areas of interest for FOAL as including,
but not limited to: semantics of aspect-oriented languages,  
specification and verification for such languages, type systems, static  
analysis, theory of testing, theory of aspect composition, and theory  
of aspect translation (compilation) and rewriting. The call for
papers welcomed all theoretical and foundational studies of foundations  
of aspect-oriented languages.

The goals of this FOAL workshop were to:

\noindent
\begin{minipage}{\listWidth}
\vspace{\parskip}
\begin{itemize}
%
\item
Make progress on the foundations of aspect-oriented programming  
languages.
%
\item
Exchange ideas about semantics and formal methods for aspect-oriented
programming languages.
%
\item
Foster interest within the programming language theory and types  
communities
in aspect-oriented programming languages.
%
\item
Foster interest within the formal methods community in
aspect-oriented programming and the problems of reasoning about  
aspect-oriented programs.
\end{itemize}
\vspace{\parskip}
\end{minipage}

\noindent
The papers at the workshop, which are included in the proceedings,
were selected from papers submitted by researchers worldwide.  Due to
time limitations at the workshop, not all of the submitted papers were
selected for presentation.  FOAL also welcomed an invited talk by James  
Riely (DePaul University), the abstract of which is included below.

The workshop was organized by Gary T.~Leavens (Iowa State University),  
Ralf L\"{a}mmel (CWI and Vrije Universiteit, Amsterdam), and Curtis  
Clifton (Iowa State University). The program committee was chaired by  
L\"{a}mmel and included L\"{a}mmel, Leavens, Clifton,
Lodewijk Bergmans (University of Twente),
John Tang Boyland (University of Wisconsin, Milwaukee),
William R. Cook (University of Texas at Austin),
Tzilla Elrad (Illinois Institute of Technology),
Kathleen Fisher (AT\&T Labs--Research),
Radha Jagadeesan (DePaul University),
Shmuel Katz (Technion--Israel Institute of Technology),
Shriram Krishnamurthi (Brown University),
Mira Mezini (Darmstadt University of Technology),
Todd Millstein (University of California, Los Angeles),
Benjamin C.~Pierce (University of Pennsylvania),
Henny Sipma (Stanford University),
Mario S\"{u}dholt (\'{E}cole des Mines de Nantes), and
David Walker (Princeton University).
We thank the organizers of AOSD 2004 for hosting the
workshop.

\vfill

\section{Invited Talk---Formal AOP: Opportunities Abound}
\paperauthor{James Riely (DePaul University)}

\begin{center}
\large James Riely (DePaul University)
\end{center}

Aspect-oriented programming (AOP) is a polarizing paradigm---attractive  
to some and repulsive to others.  On the up side, AOP allows for new  
forms of encapsulation: each concern (e.g.,
functionality, security) can be coded separately rather than  
interleaved in the same code base.  On the down side, AOP destroys old  
forms of encapsulation: straight-line code no longer runs in a
straight line.  Static weaving has proven eminently practical, but many  
potential applications depend upon dynamic properties which do not lend  
themselves to this implementation technique.  To realize its full  
potential, AOP must become both more controlled and more
expressive.  In each case, the issues are complex and difficult to  
arbitrate without formal models.

\cleardoublepage
\setcounter{page}{1}
\pagenumbering{arabic}
\pagestyle{plain}

\insertpaper[0cm 2.1cm]{katz.pdf}
   {Diagnosis of Harmful Aspects Using Regression Verification}
   {\paperauthor{Shmuel Katz (The Technion)}}

\insertpaper{aldrich.pdf}
   {Open Modules: A Proposal for Modular Reasoning in Aspect-Oriented  
Programming}
   {\paperauthor{Jonathan Aldrich (Carnegie Mellon University)}}

%FIXME
%\insertpaper{reily.pdf}{title to be announced}
%\paperauthor{James Reily (DuPaul University)}

\insertpaper[0cm -0.1cm]{barzilay-etal.pdf}
   {Call and Execution Semantics in AspectJ}
   {\paperauthor{Ohad Barzilay (Tel Aviv University)}
     \paperauthor{Yishai A.~Feldman (The Interdisciplinary Center,  
Harzliya)}
     \paperauthor{Shmuel Tyszberowicz (The Academic College of Tel Aviv  
Yaffo)}
     \paperauthor{Amiram Yehudai (Tel Aviv University)}}

\insertpaper[0cm -0.1cm]{balzarotti-monga.pdf}
   {Using Program Slicing to Analyze Aspect Oriented Composition}
   {\paperauthor{David Balzarotti (Politecnico di Milano)}
     \paperauthor{Mattia Monga (Universit\`{a} degli Studi di Milano)}}

\insertpaper[0cm 0.6cm]{xu-rajan-sullivan.pdf}
   {Aspect Reasoning by Reduction to Implicit Invocation}
   {\paperauthor{Jia Xu (University of Virginia)}
     \paperauthor{Hridesh Rajan (University of Virginia)}
     \paperauthor{Kevin Sullivan (University of Virginia)}}

\insertpaper[0cm -0.1cm]{katara-kurki-suonio-mikkonen.pdf}
   {On the Horizontal Dimension of Software Architecture in Formal  
Specifications of Reactive Systems}
   {\paperauthor{Mika Katara (Tampere University of Technology)}
     \paperauthor{Reino Kurki-Suonio (Tampere University of Technology)}
     \paperauthor{Tommi Mikkonen (Tampere University of Technology)}}

\insertpaper[0cm -0.1cm]{altisen-maraninchi-stauch.pdf}
   {Exploring Aspects in the Context of Reactive Systems}
   {\paperauthor{Karine Altisen (Verimag/INPG, Grenoble)}
     \paperauthor{Florence maraninchi (Verimag/INPG, Grenoble)}
     \paperauthor{David Stauch (Verimag/INPG, Grenoble)}}

\end{document}

--------------------- Info ---------------------
Mac-TeX Website: http://www.esm.psu.edu/mac-tex/
           & FAQ: http://latex.yauh.de/faq/
TeX FAQ: http://www.tex.ac.uk/faq
List Post: <mailto:MacOSX-TeX at email.esm.psu.edu>





More information about the macostex-archives mailing list