[OS X TeX] combining pdfs?
Curtis Clifton
curt.clifton at mac.com
Fri Feb 4 18:30:42 EST 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 MacOSX-TeX
mailing list