ist es moeglich, nur bestimmte Seiten eines Dokumentes mit pdfLaTeX zu
bearbeiten, oder nur bestimmte Seiten im nachhinein zu extrahieren?
Ich brauechte naemlich genau sechs von 900 Seiten eines Buches und
alle 900 verschicken ist ein bisschen Overkill...
Viele Gruesse
Dirk
--
private office
Juelicher Strasse 206-208 ComNets - RWTH Aachen
52070 Aachen Lehrstuhl fuer Kommunikationsnetze
Phone +49 (0) 241 961180 Phone +49 (0) 241 807915
> Hi, ist es moeglich, nur bestimmte Seiten eines Dokumentes mit
> pdfLaTeX zu bearbeiten, oder nur bestimmte Seiten im nachhinein zu
> extrahieren?
Kranker Weg: Drucke mit Acroread die Seiten in eine PS-Datei, wandle
diese zurück nach PDF.
kai
--
I like _ b_ o_ t_ h kinds of music.
Na, besonders "gesund" scheint mir das auch nicht zu sein. Eine bessere
Variante: Erzeugen einer dvi-Datei und extrahieren der gewunscten Seiten
(dvidvi, dvicopy). Das Ergebnis dann nach pdf wandeln...
...Rolf
--
.-----------------------------------------------------------.
| Rolf Niepraschk c/o Physikalisch-Technische Bundesanstalt |
| Abbestr. 2-12; D-10587 Berlin, Germany |
| Tel/Fax: ++49-30-3481-316/490, email: niepr...@ptb.de |
`-----------------------------------------------------------'
> Kai.Gro...@CS.Uni-Dortmund.DE wrote:
> >
> > Kranker Weg: [...]
>
> Na, besonders "gesund" scheint mir das auch nicht zu sein. [...]
Ich wollte damit sagen, dass mein Vorschlag einen kranken Weg
beschreibt. Wir sind also einer Meinung.
>ist es moeglich, nur bestimmte Seiten eines Dokumentes mit pdfLaTeX zu
>bearbeiten, oder nur bestimmte Seiten im nachhinein zu extrahieren?
>Ich brauechte naemlich genau sechs von 900 Seiten eines Buches und
>alle 900 verschicken ist ein bisschen Overkill...
1.) Mit ghostscript kann man bestimmte Seiten extrahieren, wenn einen
nicht stoert, dass eingebundene Vektor-Fonts "gepixelt" werden:
Beispiel:
gs(win32c)
-dBATCH
-dNOPAUSE
-q
-sDEVICE=pdfwrite
-r600
-sOutputFile=2.pdf
-dFirstPage=2
-dLastPage=2
test.pdf
2.) Eine andere Moeglichkeit ist, bereits auf Quelltextebene die
gewuenschten Seiten anzugeben. Als Beispiel implemenierte ich hierfuer
das unten angehaengte pagesel.sty:
* Die Seiten oder Seitenbereiche werden als Option angegeben:
\usepackage[1-4,10,20]{pagesel}
gibt nur die Seiten 1, 2, 3, 4, 10 und 20 aus.
* Weggelassenen Seitenangaben bei einer Bereichsangabe beziehen sich
auf die erste / letzte Seite:
-10 ==> die ersten zehn Seiten
30- ==> alle Seiten ab 30
- ==> alle Seiten
* Da bei weggelassenen Seiten keine Informationen in die Hilfdateien
(aux, toc, ...) geschrieben werden, sollte man zuerst den Text ohne
Paket pagesel compilieren bis alle Referenzen etc. stimmen.
Dann nur _einmal_ mit Paket und den gewuenschten Seiten als
Option compilieren.
%%% pagesel.sty %%%
\ProvidesPackage{pagesel}[1999/03/01 v0.9 Selecting shipout output
pages (HO)]
\@ifundefined{ps@makevoid}{}{%
\PackageWarningNoLine{pagesel}{Package already loaded.}%
\endinput
}
\RequirePackage{everyshi}
\newcommand*{\ps@makevoid}{%
\global\setbox\@cclv\copy\voidb@x
}
\DeclareOption*{%
\begingroup
\expandafter\ps@checkoption\CurrentOption-\END
\edef\x{\endgroup\noexpand\ps@store{\ps@first}{\ps@last}}%
\x
}
\def\ps@checkoption#1-#2\END{%
\ifx\\#2\\%
\ifx\\#1\\%
% empty option
\def\ps@first{\maxdimen}%
\def\ps@last{\maxdimen}%
\else
\edef\ps@first{#1}%
\edef\ps@last{#1}%
\fi
\else
\ifx\\#1\\%
\def\ps@first{-\maxdimen}%
\else
\edef\ps@first{#1}%
\fi
\ps@checklast#2%
\fi
}
\def\ps@checklast#1-{%
\ifx\\#1\\%
\def\ps@last{\maxdimen}%
\else
\edef\ps@last{#1}%
\fi
}
\newcommand*{\ps@store}[2]{%
\expandafter\def\expandafter\ps@testlist\expandafter{%
\ps@testlist\ps@pagetest{#1}{#2}%
}%
}
\let\ps@testlist\@empty
\ProcessOptions
\newcounter{ps@count}
\setcounter{ps@count}{0}
\long\def\ps@ReturnAfterElseFi#1\else#2\fi{\fi#1}
\long\def\ps@ReturnAfterFi#1\fi{\fi#1}
\newcommand{\ps@ifinset}[4]{%
\ifnum#1>\value{ps@count}%
\ps@ReturnAfterElseFi{#4}%
\else
\ps@ReturnAfterFi{%
\ifnum#2<\value{ps@count}%
\ps@ReturnAfterElseFi{#4}%
\else
\ps@ReturnAfterFi{#3}%
\fi
}%
\fi
}
\newcommand*{\ps@pagetest}[2]{%
\ps@ifinset{#1}{#2}{\let\ps@next\@empty}{}
}
\EveryShipout{%
\stepcounter{ps@count}%
\ifx\ps@testlist\@empty
\else
\let\ps@next\ps@makevoid
\ps@testlist
\ps@next
\fi
}
\endinput
%%% pagesel.sty %%%
Viele Gruesse
Heiko <ober...@ruf.uni-freiburg.de>
> 2.) Eine andere Moeglichkeit ist, bereits auf Quelltextebene die
> gewuenschten Seiten anzugeben. Als Beispiel implemenierte ich hierfuer
> das unten angehaengte pagesel.sty:
> %%% pagesel.sty %%%
> \ProvidesPackage{pagesel}[1999/03/01 v0.9 Selecting shipout output
> pages (HO)]
Das wirst Du doch hoffentlich auch auf CTAN verfuegbar machen?
(Damit es nicht in der Versenkung der Newsgroup-Archive der
Vergessenheit anheimfaellt ... ;-)
Gruss,
Hubert
>> %%% pagesel.sty %%%
>> \ProvidesPackage{pagesel}[1999/03/01 v0.9 Selecting shipout output
>> pages (HO)]
>
>Das wirst Du doch hoffentlich auch auf CTAN verfuegbar machen?
>(Damit es nicht in der Versenkung der Newsgroup-Archive der
>Vergessenheit anheimfaellt ... ;-)
Ja, wenn ich noch ein paar Zeilen Dokumentation angefuegt und
die Copyright-Frage geklaert habe (ich denke an free-latex, kenne aber
den Text dieser Lizenz noch nicht).
Viele Gruesse
Heiko <ober...@ruf.uni-freiburg.de>