diff options
author | Karl Berry <karl@freefriends.org> | 2006-07-26 21:40:43 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2006-07-26 21:40:43 +0000 |
commit | 58ae8ff32e96babab9565a8a03521b84314b5ef5 (patch) | |
tree | 82a5f0c0fa96f45c449423e48d53a3e00f250997 /Master/texmf-dist/source/generic | |
parent | 0a57e6b100604ff3a5631232cdad6713dea9f5be (diff) |
pst-pdf 1.1n (24jul06)
git-svn-id: svn://tug.org/texlive/trunk@1924 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/source/generic')
-rw-r--r-- | Master/texmf-dist/source/generic/pst-pdf/Makefile | 49 | ||||
-rw-r--r-- | Master/texmf-dist/source/generic/pst-pdf/pst-pdf.dtx | 1021 |
2 files changed, 907 insertions, 163 deletions
diff --git a/Master/texmf-dist/source/generic/pst-pdf/Makefile b/Master/texmf-dist/source/generic/pst-pdf/Makefile index 81332c1c20e..d3ca2eb8e73 100644 --- a/Master/texmf-dist/source/generic/pst-pdf/Makefile +++ b/Master/texmf-dist/source/generic/pst-pdf/Makefile @@ -1,5 +1,5 @@ -# `pst-pdf' -- Rolf Niepraschk, 2005/03/25, Rolf.Niepraschk@ptb.de +# `pst-pdf' -- Rolf Niepraschk, 2006/07/23, Rolf.Niepraschk@ptb.de .SUFFIXES : .tex .ltx .dvi .ps .pdf .eps @@ -21,23 +21,34 @@ ADDINPUTS = penguin.eps elephant.ps knuth.png psf-demo.eps \ PDF_CONTAINER = $(EXAMPLE:.tex=-pics.pdf) ARCHFILES = $(PACKAGE).dtx $(PACKAGE).ins $(ADDINPUTS) Makefile \ - ps4pdf CHANGES \ - CHANGES.tex ps4pdf.bat ps4pdf.bat.w95 - #ppf-example.tex TODO - #pstricks2.sty pstricks2.tex pstricks2.pro pst-dots2.pro + README CHANGES CHANGES.tex \ + $(PACKAGE).pdf $(PACKAGE)-DE.pdf $(EXAMPLE:.tex=.pdf) \ + scripts/ps4pdf \ + scripts/ps4pdf.bat \ + scripts/ps4pdf.bat.noMiKTeX \ + scripts/ps4pdf.bat.w95 \ PS2PDF = GS_OPTIONS=-dPDFSETTINGS=/prepress ps2pdf -all : pdf +all : pdf doc example pdf : $(EXAMPLE:.tex=.pdf) doc : $(PACKAGE).pdf +doc-DE : $(PACKAGE)-DE.pdf + +example : $(EXAMPLE:.tex=.pdf) + $(EXAMPLE:.tex=.pdf) : $(EXAMPLE) $(ADDINPUTS) $(PDF_CONTAINER) $(PACKAGE).sty $(PDFLATEX) $< + +dist : doc doc-DE pdf example + tar cvzf $(ARCHNAME).tar.gz $(ARCHFILES) + @ echo + @ echo $(ARCHNAME).tar.gz -%.pdf : %.dtx $(PACKAGE).sty +%.gls %.pdf : %.dtx $(PACKAGE).sty test -f $(basename $<).glo || touch -f $(basename $<).glo test -f $(basename $<).idx || touch -f $(basename $<).idx makeindex -s gglo.ist -t $(basename $<).glg -o $(basename $<).gls \ @@ -46,6 +57,17 @@ $(EXAMPLE:.tex=.pdf) : $(EXAMPLE) $(ADDINPUTS) $(PDF_CONTAINER) $(PACKAGE).sty $(basename $<).idx $(PDFLATEX) $< +$(PACKAGE)-DE.gls $(PACKAGE)-DE.pdf : $(PACKAGE).dtx $(PACKAGE).sty + test -f $(basename $@).glo || touch -f $(basename $@).glo + test -f $(basename $@).idx || touch -f $(basename $@).idx + makeindex -s gglo.ist -t $(basename $@).glg -o $(basename $@).gls \ + $(basename $@).glo + makeindex -s gind.ist -t $(basename $@).ilg -o $(basename $@).ind \ + $(basename $@).idx + cp $< $(basename $@).dtx + $(PDFLATEX) '\newcommand*{\mainlang}{ngerman}\input{$(basename $@).dtx}' + $(RM) $(basename $@).dtx + %.pdf : %.tex $(PDFLATEX) $< @@ -66,10 +88,12 @@ $(PDF_CONTAINER) : $(PDF_CONTAINER:.pdf=.ps) $(PS2PDF) $< $@; \ fi -CHANGES : CHANGES.tex $(PACKAGE).pdf - $(PDFLATEX) $< - pdftotext -layout -nopgbrk $(<:.tex=.pdf) $@ +CHANGES : CHANGES.pdf + pdftotext -layout -nopgbrk $< $@ +CHANGES.pdf : CHANGES.tex $(PACKAGE).gls + $(PDFLATEX) $< + arch : CHANGES zip $(ARCHNAME).zip $(ARCHFILES) @@ -77,9 +101,10 @@ clean : $(RM) $(addprefix $(PACKAGE), \ .dvi .log .aux .bbl .blg .idx .ind .ilg .gls .glg .glo) \ $(addprefix $(basename $(EXAMPLE)), .ps .dvi .log .aux) \ - $(EXAMPLE) $(PDF_CONTAINER:.pdf=.ps) $(PDF_CONTAINER) + $(EXAMPLE) $(PDF_CONTAINER:.pdf=.ps) $(PDF_CONTAINER) \ + CHANGES.pdf veryclean : clean - $(RM) $(PACKAGE).pdf $(EXAMPLE:.tex=.pdf) + $(RM) $(PACKAGE).pdf pst-pdf-DE.pdf $(EXAMPLE:.tex=.pdf) CHANGES # EOF diff --git a/Master/texmf-dist/source/generic/pst-pdf/pst-pdf.dtx b/Master/texmf-dist/source/generic/pst-pdf/pst-pdf.dtx index 01e654f7267..8ee7acca0aa 100644 --- a/Master/texmf-dist/source/generic/pst-pdf/pst-pdf.dtx +++ b/Master/texmf-dist/source/generic/pst-pdf/pst-pdf.dtx @@ -1,8 +1,8 @@ % \iffalse meta-comment % -% Copyright (C) 2005 +% Copyright (C) 2005--2006 % Rolf Niepraschk, <Rolf.Niepraschk@ptb.de> -% Hubert Gaesslein, <HubertJG@open.mind.de> +% Hubert Gaesslein % -------------------------------------------------------------- % % This file may be distributed and/or modified under the @@ -24,36 +24,33 @@ %<package>\NeedsTeXFormat{LaTeX2e}[1999/12/01] %<package>\ProvidesPackage{pst-pdf} %<*package> - [2005/06/29 v1.1i PS graphics for pdfLaTeX (RN,HjG)] + [2006/07/14 v1.1n PS graphics for pdfLaTeX (RN,HjG)] %</package> % %<*driver> \listfiles \documentclass[a4paper]{ltxdoc} \usepackage[ignore]{pst-pdf} -\usepackage[british]{babel} +\providecommand*\mainlang{} +\usepackage[british,\mainlang]{babel} \usepackage{booktabs,calc,array,url} \usepackage[T1]{fontenc} \usepackage{textcomp} \setlength\emergencystretch{3em} -%%%%%% spaeter wieder weg %%%%% -\usepackage{color} -\usepackage{texnames} -\newcommand\notice[1]{% - \marginpar{\mbox{}\raggedright\color{red}\itshape #1}} -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \EnableCrossrefs \CodelineIndex \RecordChanges \begin{document} \DocInput{pst-pdf.dtx} - \PrintChanges - \PrintIndex + \begin{otherlanguage}{british} + \PrintChanges \clearpage + \PrintIndex + \end{otherlanguage} \end{document} %</driver> % \fi % -% \CheckSum{787} +% \CheckSum{832} % % \CharacterTable % {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z @@ -93,7 +90,10 @@ % in extraction mode. Some code cleaning. (RN)} % \changes{v1.1b}{2005/04/09}{Some code and documentation cleaning. (RN)} % \changes{v1.1c}{2005/04/17}{New package option ``tightpage'' added. (RN)} -% +% \changes{v1.1k}{2006/02/10}{New environment pst-pdf-defs: Support for +% PSTricks environment ``psmatrix'' inside user definitions. (RN,HjG)} +% \changes{v1.1m}{2006/03/10}{Merge english and german version of the +% documentation. (RN)} % \GetFileInfo{pst-pdf.dtx} % % \DoNotIndex{\newcommand,\renewcommand,\newenvironment,\renewenvironment} @@ -135,161 +135,421 @@ % % \newcommand*\META[1]{\meta{\normalfont#1}} % \newcommand*\TorF{\META{true\textbar false}} +% +% \newif\ifGERMAN \GERMANfalse +% \newif\ifENGLISH \ENGLISHfalse +% \iflanguage{ngerman}{\GERMANtrue}{% +% \iflanguage{german}{\GERMANtrue}{\GERMANfalse}} +% \iflanguage{english}{\ENGLISHtrue}{\ENGLISHfalse} +% +% ^^A ---------------------------------------------------------- % -% \title{The \pkgname{pst-pdf} package\thanks{This document -% corresponds to \textsf{pst-pdf}~\fileversion, dated \filedate. -% Thanks to Peter Dyballa for the translation.}} +% \ifGERMAN +% \title{Das Paket \pkgname{pst-pdf}\thanks{Dieses Dokument +% bezieht sich auf \textsf{pst-pdf}~\fileversion\ vom \filedate.}} +% \fi +% \ifENGLISH +% \title{The \pkgname{pst-pdf} package\thanks{This document +% corresponds to \textsf{pst-pdf}~\fileversion, dated \filedate. +% Thanks to Peter Dyballa for the translation.}} +% \fi +% % \author{% % Rolf Niepraschk\thanks{\texttt{Rolf.Niepraschk@ptb.de}} % \and -% Hubert G\"a{\ss}lein\thanks{\texttt{HubertJG@open.mind.de}}} +% Hubert G\"a{\ss}lein} % \date{\filedate} % % \maketitle % -% \section{Introduction} +% \ifGERMAN +% \section{Einleitung} % -% The package \pkgname{pst-pdf} simplifies the use of graphics from -% PSTricks and other \PS\ code in PDF documents. As in building a -% bibliography with \BibTeX{} additional external programmes are being -% invoked. In this case they are used to create a PDF file -% (\cmd{\PDFcontainer}) that will contain all this graphics material. In the -% final document this contents will be inserted instead of the original -% \PS\ code. +% Das Paket \pkgname{pst-pdf} vereinfacht die Verwendung von +% PSTricks-Grafiken und anderem \PS-Code in PDF-Dokumenten. +% \"Ahnlich wie beim Erstellen des Literaturverzeichnisses mit bib\TeX{} +% werden zus\"atzlich externe Programme aufgerufen. Sie dienen in +% diesem Fall dazu, eine PDF-Datei, die s\"amtliche Grafiken +% enth\"alt, zu erzeugen. Ihr Inhalt wird im endg\"ultigen Dokument +% statt des urspr\"unglichen \PS-Codes eingef\"ugt. +% \fi % -% \section{Usage} +% \ifENGLISH +% \section{Introduction} % -% \subsection{Package options} +% The package \pkgname{pst-pdf} simplifies the use of graphics from +% PSTricks and other \PS\ code in PDF documents. As in building a +% bibliography with \BibTeX{} additional external programmes are being +% invoked. In this case they are used to create a PDF file +% (\cmd{\PDFcontainer}) that will contain all this graphics material. In the +% final document this contents will be inserted instead of the original +% \PS\ code. +% \fi % -% \begin{optlist} +% \ifGERMAN +% \section{Anwendung} +% \fi +% +% \ifENGLISH +% \section{Usage} +% \fi % -% \item[active] Activates the extraction mode (DVI output). An explicit -% declaration usually is not necessary (default in \LaTeX\ mode). +% \ifGERMAN +% \subsection{Paketoptionen} +% +% \begin{optlist} +% +% \item[active] Aktiviert den Extraktionsmodus (DVI-Ausgabe). +% Die explizite Angabe ist normalerweise unn\"otig (Standard im +% \LaTeX-Modus). % -% \item[inactive] No special actions; only the packages -% \pkgname{pstricks} and \pkgname{graphicx} are loaded (default in -% V\TeX). Can be used to just convert the document with \LaTeX\ into a -% DVI file while avoiding the automatic extraction mode. +% \item[inactive] Keine besonderen Aktionen; es werden nur die +% Pakete \pkgname{pstricks} und \pkgname{graphicx} geladen +% (Standard bei Verwendung von V\TeX). Kann dazu benutzt werden, +% um das Dokument mit \LaTeX\ in eine DVI-Datei zu wandeln und +% dabei die automatische Verwendung des Extraktionsmodus' zu vermeiden. +% +% \item[pstricks] Das Paket \pkgname{pstricks} wird geladen +% (Standard). +% +% \item[nopstricks] Das Paket \pkgname{pstricks} wird nicht +% geladen. Wird sp\"ater festgestellt, dass \pkgname{pstricks} doch +% noch anderweitig geladen wurde, wird die Umgebung |pspicture| +% nachtr\"aglich in der Weise behandelt, als w\"are die Option +% ``pstricks'' doch angegeben worden. +% +% \item[draft] Im pdf\LaTeX-Modus werden aus der +% Containerdatei eingef\"ugte Grafiken nur als Rahmen dargestellt. +% +% \item[final] Im pdf\LaTeX-Modus werden aus der +% Containerdatei eingef\"ugte Grafiken vollst\"andig +% dargestellt (Standard). +% +% \item[tightpage] Die Abmessung Grafiken in der Containerdatei +% entsprechen denen der zugeh\"origen \TeX-Boxen (Standard). +% +% \item[notightpage] +% Die Abmessung der zur Grafik geh\"orenden \TeX-Box ist manchmal +% nicht korrekt, da \PS-Anweisungen auch au{\ss}erhalb der Box +% zeichnen k\"onnen. Die Option ``notightpage'' f\"uhrt dazu, dass die +% Grafiken in der Containerdatei mindestens die Gr\"o{\ss}e des +% gesamten Blattes einnehmen. Um die Grafiken +% im sp\"ateren pdf\LaTeX-Lauf verwenden zu k\"onnen, muss die +% Containerdatei nachbearbeitet werden, so dass die Gr\"o{\ss}e der +% Grafiken auf die der sichtbaren Bestandteile reduziert ist. Dazu +% kann z.\,B. das Programm |pdfcrop|\footnote{% +% CTAN:~\url{support/pdfcrop/}} dienen. Die Anwendung dieses Verfahrens +% kann die Angabe der Option ``trim'' er\"ubrigen (siehe +% Abschnitt~\ref{sec:copt}). +% +% \item[displaymath] +% Es werden zus\"atzlich die mathematischen Umgebungen +% \env{displaymath}, \env{eqnarray} und \env{\$\$} extrahiert und im +% pdf-Modus +% als Grafik eingefügt. So k\"onnen zus\"atzliche PSTricks-Erg\"anzungen +% leicht dem Inhalt dieser Umgebungen zugef\"ugt werden. (Frage: Wie +% verhalten sich die AMS\LaTeX-Umgebungen?) +% +% \item[\meta{other}] Alle anderen Optionen werden an das Paket +% \pkgname{pstricks} weitergereicht. % -% \item[pstricks] The package \pkgname{pstricks} is loaded (default). +% \end{optlist} +% \fi +% \ifENGLISH +% \subsection{Package options} % -% \item[nopstricks] The package \pkgname{pstricks} does not get loaded. -% Once it is detected that \pkgname{pstricks} was loaded however in -% some other way, the \env{pspicture} environment is treated as if the -% option ``pstricks'' was given. +% \begin{optlist} % -% \item[draft] From the \cmd{\PDFcontainer} file included graphics is -% displayed as frame in pdf\LaTeX\ mode. +% \item[active] Activates the extraction mode (DVI output). An explicit +% declaration usually is not necessary (default in \LaTeX\ mode). % -% \item[final] From the \cmd{\PDFcontainer} file included graphics is -% correctly displayed in pdf\LaTeX\ mode (default). +% \item[inactive] No special actions; only the packages +% \pkgname{pstricks} and \pkgname{graphicx} are loaded (default in +% V\TeX). Can be used to just convert the document with \LaTeX\ into a +% DVI file while avoiding the automatic extraction mode. % -% \item[tightpage] The graphics' dimensions in the \cmd{\PDFcontainer} -% file match exactly those of the corresponding \TeX\ boxes (default). +% \item[pstricks] The package \pkgname{pstricks} is loaded (default). % -% \item[notightpage] The dimensions of the \TeX\ box corresponding to its -% graphics is not always correct, since a \PS\ statement can draw -% outside its box. The option ``notightpage'' makes the graphics in the -% \cmd{\PDFcontainer} file to be at least the size of the whole page. -% To be able to make use of the graphics' in a later pdf\LaTeX\ run, -% the \cmd{\PDFcontainer} file needs to be finished in a way that each -% graphics gets reduced in size to its visible part. For this an -% external programme like -% |pdfcrop|\footnote{CTAN:~\url{support/pdfcrop/}} can be useful. Its -% use can save declaring the option ``trim'' (see also -% section~\ref{sec:copt}). +% \item[nopstricks] The package \pkgname{pstricks} does not get loaded. +% Once it is detected that \pkgname{pstricks} was loaded however in +% some other way, the \env{pspicture} environment is treated as if the +% option ``pstricks'' was given. % -% \item[displaymath] In PDF mode the mathematical environments -% \env{displaymath}, \env{eqnarray}, and \env{\$\$} get also extracted -% and included as graphics. This way additional PSTricks extensions can -% easily be added to the contents of these environments. (Question: how -% do AMS\LaTeX\ environments behave?) +% \item[draft] From the \cmd{\PDFcontainer} file included graphics is +% displayed as frame in pdf\LaTeX\ mode. % -% \item[\meta{other}] All other options are passed to \pkgname{pstricks} -% package. +% \item[final] From the \cmd{\PDFcontainer} file included graphics is +% correctly displayed in pdf\LaTeX\ mode (default). % -% \end{optlist} +% \item[tightpage] The graphics' dimensions in the \cmd{\PDFcontainer} +% file match exactly those of the corresponding \TeX\ boxes (default). +% +% \item[notightpage] The dimensions of the \TeX\ box corresponding to its +% graphics is not always correct, since a \PS\ statement can draw +% outside its box. The option ``notightpage'' makes the graphics in the +% \cmd{\PDFcontainer} file to be at least the size of the whole page. +% To be able to make use of the graphics' in a later pdf\LaTeX\ run, +% the \cmd{\PDFcontainer} file needs to be finished in a way that each +% graphics gets reduced in size to its visible part. For this an +% external programme like +% |pdfcrop|\footnote{CTAN:~\url{support/pdfcrop/}} can be useful. Its +% use can save declaring the option ``trim'' (see also +% section~\ref{sec:copt}). +% +% \item[displaymath] In PDF mode the mathematical environments +% \env{displaymath}, \env{eqnarray}, and \env{\$\$} get also extracted +% and included as graphics. This way additional PSTricks extensions can +% easily be added to the contents of these environments. (Question: how +% do AMS\LaTeX\ environments behave?) +% +% \item[\meta{other}] All other options are passed to \pkgname{pstricks} +% package. +% +% \end{optlist} +% \fi +% \ifGERMAN +% \subsection{Programmaufrufe} +% +% Die folgende Tabelle zeigt den Ablauf, der n\"otig ist, um ein +% PDF-Dokument mit \PS-Grafiken zu erzeugen\footnote{% +% Die Shell-Scripte |ps4pdf| bzw. |ps4pdf.bat| f\"uhren alle angegebenen +% Programmaufrufe automatisch aus.}. Im Vergleich dazu ist der +% analoge Ablauf f\"ur Literaturverzeichnisse angegeben.\bigskip +% +% \newcolumntype{P}[1]{>{\mbox{}\raggedright}p{#1}} +% \noindent +% \begin{tabular}[t]{@{}P{.65\linewidth}@{}P{.35\linewidth}@{}} +% \textbf{\PS-Grafiken} & \textbf{Literaturverzeichnis} \tabularnewline +% \toprule +% |pdflatex document.tex| & |pdflatex document.tex| +% \tabularnewline\midrule +% \multicolumn{2}{@{}c@{}}{\emph{Hilfsaufrufe}} \tabularnewline +% |latex document.tex| \tabularnewline +% |dvips -o document-pics.ps document.dvi| \tabularnewline +% |ps2pdf document-pics.ps| +% & +% |bibtex document.aux| +% \tabularnewline\midrule +% |pdflatex document.tex| & |pdflatex document.tex| +% \end{tabular}\bigskip +% +% Bei der Erzeugung wird nur +% Code ber\"ucksichtigt, der sich innerhalb der Umgebungen |pspicture| +% oder |postscript| befindet. Ebenfalls werden \PS-Grafiken, die +% als Parameter von \cmd{\includegraphics} angegeben wurden, der +% Containerdatei hinzugef\"ugt. +% Der Name dieser Datei ist standardm\"a{\ss}ig +% \meta{\cmd{\jobname}}|-pics.pdf|. +% Er kann durch Umdefinieren des Makros +% \cmd{\PDFcontainer} ge\"andert werden. \medskip +% \fi +% \ifENGLISH +% \subsection{Program calls} +% +% The following table shows the course necessary to create a PDF document +% containing \PS\ graphics\footnote{The \TeX\ distribution ``te\TeX'' +% contains a UNIX shell script |ps4pdf| which executes all the necessary +% steps. See: CTAN:~\url{macros/latex/contrib/ps4pdf/}}. As comparison +% the analogous course for a bibliography is shown.\bigskip +% +% \newcolumntype{P}[1]{>{\mbox{}\raggedright}p{#1}} +% \noindent +% \begin{tabular}[t]{@{}P{.65\linewidth}@{}P{.35\linewidth}@{}} +% \textbf{\PS\ graphics} & \textbf{bibliography} \tabularnewline +% \toprule +% |pdflatex document.tex| & |pdflatex document.tex| +% \tabularnewline\midrule +% \multicolumn{2}{@{}c@{}}{\emph{auxiliary calls}} \tabularnewline +% |latex document.tex| \tabularnewline +% |dvips -o document-pics.ps document.dvi| \tabularnewline +% |ps2pdf document-pics.ps| +% & +% |bibtex document.aux| +% \tabularnewline\midrule +% |pdflatex document.tex| & |pdflatex document.tex| +% \end{tabular}\bigskip +% +% While creating the output only code from inside a \env{pspicture} or +% \env{postscript} environment is considered. \PS\ graphics files, which +% are passed as parameter of an \cmd{\includegraphics} statement, too are +% included into the \cmd{\PDFcontainer} file. This file's name is by +% default \meta{\cmd{\jobname}}|-pics.pdf|. It can be changed by +% re-defining the macro \cmd{\PDFcontainer}. \medskip +% \fi +% +% \ifGERMAN +% \subsection{Nutzeranweisungen} +% +% \DescribeEnv{pspicture} +% \indent\cmd{\begin}|{pspicture}|\oarg{keys}% +% \parg{x0,x1}\parg{y0,y1} \dots\cmd{\end}|{pspicture}| +% \par\noindent +% Die |pspicture|-Umgebung steht zur Verf\"ugung, wenn nicht die Option +% ``|nopstricks|'' angegeben wurde. Sie wird so wie in PSTricks \"ublich +% verwendet. Im pdf\LaTeX-Modus wird ihr Inhalt nur dann dargestellt, +% wenn vorher die Containerdatei erzeugt wurde. +% \medskip +% +% \DescribeEnv{postscript} +% \cmd{\begin}|{postscript}|\oarg{keys} \dots\cmd{\end}|{postscript}| +% \par\noindent +% Die |postscript|-Umgebung kann beliebigen Code mit Ausnahme von +% Gleitumgebungen aufnehmen. Im pdf\LaTeX-Modus wird ihr Inhalt +% ebenfalls der Containerdatei entnommen. Ist diese Datei nicht +% vorhanden, wird -- anders als bei der |pspicture|-Umgebung -- der +% sp\"ater ben\"otigte Platz m\"oglicherweise nicht korrekt frei gehalten. +% \medskip +% +% \DescribeMacro{\includegraphics} +% \cmd{\includegraphics}\oarg{keys}\marg{filename} +% \par\noindent +% Wie in \pkgname{graphics}/\pkgname{graphicx} definiert zu verwenden. +% Zus\"atzlich ist es nun m\"oglich, auch im pdf\LaTeX-Modus +% EPS-Dateien als Argument anzugeben und ihren Inhalt darzustellen. Er +% wird dazu ebenfalls der Containerdatei entnommen. +% \medskip +% +% \newcommand*\ooarg[1]{{\ttfamily<}\meta{#1}{\ttfamily>}} +% +% \DescribeMacro{\includegraphicx} +% \cmd{\includegraphicx}\oarg{keys}\parg{pfxadd}\ooarg{ovpfgd}\oarg{ovpbgd}% +% \marg{filename} +% \par\noindent +% Wie im Paket \pkgname{psfragx} definiert zu verwenden. +% \medskip % -% \subsection{Program calls} -% -% The following table shows the course necessary to create a PDF document -% containing \PS\ graphics\footnote{The \TeX\ distribution ``te\TeX'' -% contains a UNIX shell script |ps4pdf| which executes all the necessary -% steps. See: CTAN:~\url{macros/latex/contrib/ps4pdf/}}. As comparison -% the analogous course for a bibliography is shown.\bigskip -% -% \newcolumntype{P}[1]{>{\mbox{}\raggedright}p{#1}} -% \noindent -% \begin{tabular}[t]{@{}P{.65\linewidth}@{}P{.35\linewidth}@{}} -% \textbf{\PS\ graphics} & \textbf{bibliography} \tabularnewline -% \toprule -% |pdflatex document.tex| & |pdflatex document.tex| -% \tabularnewline\midrule -% \multicolumn{2}{@{}c@{}}{\emph{auxiliary calls}} \tabularnewline -% |latex document.tex| \tabularnewline -% |dvips -o document-pics.ps document.dvi| \tabularnewline -% |ps2pdf document-pics.ps| -% & -% |bibtex document.aux| -% \tabularnewline\midrule -% |pdflatex document.tex| & |pdflatex document.tex| -% \end{tabular}\bigskip -% -% While creating the output only code from inside a \env{pspicture} or -% \env{postscript} environment is considered. \PS\ graphics files, which -% are passed as parameter of an \cmd{\includegraphics} statement, too are -% included into the \cmd{\PDFcontainer} file. This file's name is by -% default \meta{\cmd{\jobname}}|-pics.pdf|. It can be changed by -% re-defining the macro \cmd{\PDFcontainer}. \medskip -% -% \subsection{User commands} -% -% \DescribeEnv{pspicture} -% \indent\cmd{\begin}|{pspicture}|\oarg{keys}% -% \parg{x0,x1}\parg{y0,y1} \dots\cmd{\end}|{pspicture}| -% \par\noindent -% The \env{pspicture} environment is not available when the option -% ``|nopstricks|'' was given. It is to be used the same way as if in -% PSTricks. In pdf\LaTeX\ mode this environment's contents is only -% displayed when the \cmd{\PDFcontainer} file was created before. -% \medskip -% -% \DescribeEnv{postscript} -% \cmd{\begin}|{postscript}|\oarg{keys} \dots\cmd{\end}|{postscript}| -% \par\noindent -% The \env{postscript} environment can contain any code except floats. In -% pdf\LaTeX\ mode its contents is take too off the \cmd{\PDFcontainer} -% file. Other as in the \env{pspicture} environment the necessary space is -% not always preserved when the \cmd{\PDFcontainer} file does not exist yet. -% \medskip -% -% \DescribeMacro{\includegraphics} -% \cmd{\includegraphics}\oarg{keys}\marg{filename} -% \par\noindent -% To be used as in \pkgname{graphics}/\pkgname{graphicx} defined. In -% pdf\LaTeX\ mode it is now additionally feasable to pass the name of an -% EPS file. Its visible contents too is taken from the \cmd{\PDFcontainer} -% file. -% \medskip -% -% \DescribeMacro{\savepicture} -% \cmd{\savepicture}\marg{name} -% \par\noindent -% The last output graphics (result of the \env{pspicture} or \env{postscript} -% environments or the \cmd{\includegraphics} statement with an \PS\ file as -% argument) is being saved in a file under the name as given by the parameter. -% \medskip -% -% \DescribeMacro{\usepicture} -% \cmd{\usepicture}\oarg{keys}\marg{name} -% \par\noindent -% The recently via \cmd{\savepicture} saved graphics is being output. The -% optional parameter is taken from the \cmd{\includegraphics} statement's -% set of specifiers. -% \medskip +% \DescribeMacro{\savepicture} +% \cmd{\savepicture}\marg{name} +% \par\noindent +% Die zuletzt ausgegebene Grafik (Ergebnisse der Umgebungen |pspicture|, +% |postscript| und der \cmd{\includegraphics}-Anweisungen mit +% \PS-Dateien) wird unter dem als Parameter \"ubergebenen +% Namen gespeichert. +% \medskip +% +% \DescribeMacro{\usepicture} +% \cmd{\usepicture}\oarg{keys}\marg{name} +% \par\noindent +% Die zuvor mit \cmd{\savepicture} gespeicherte Grafik wird +% ausgegeben. Der optionale Parameter entpricht dem bei der Anweisung +% \cmd{\includegraphics} m\"oglichen. +% \medskip % +% \DescribeEnv{pst-pdf-defs} +% \cmd{\begin}\texttt{\{pst-pdf-defs\}} \dots +% \cmd{\end}\texttt{\{pst-pdf-defs\}} +% \par\noindent +% Sollen eigene Makros oder Umgebungen definiert werden, die das Zeichen +% \texttt{\&} (andere?) im Ersetzungstext enthalten, so m\"ussen diese +% Definitionen von der Umgebung |pst-pdf-defs| umschlossen werden. +% \medskip +% \fi +% +% \ifENGLISH +% \subsection{User commands} +% +% \DescribeEnv{pspicture} +% \indent\cmd{\begin}|{pspicture}|\oarg{keys}% +% \parg{x0,x1}\parg{y0,y1} \dots\cmd{\end}|{pspicture}| +% \par\noindent +% The \env{pspicture} environment is not available when the option +% ``|nopstricks|'' was given. It is to be used the same way as if in +% PSTricks. In pdf\LaTeX\ mode this environment's contents is only +% displayed when the \cmd{\PDFcontainer} file was created before. +% \medskip +% +% \DescribeEnv{postscript} +% \cmd{\begin}|{postscript}|\oarg{keys} \dots\cmd{\end}|{postscript}| +% \par\noindent +% The \env{postscript} environment can contain any code except floats. In +% pdf\LaTeX\ mode its contents is take too off the \cmd{\PDFcontainer} +% file. Other as in the \env{pspicture} environment the necessary space is +% not always preserved when the \cmd{\PDFcontainer} file does not exist yet. +% \medskip +% +% \DescribeMacro{\includegraphics} +% \cmd{\includegraphics}\oarg{keys}\marg{filename} +% \par\noindent +% To be used as in \pkgname{graphics}/\pkgname{graphicx} defined. In +% pdf\LaTeX\ mode it is now additionally feasable to pass the name of an +% EPS file. Its visible contents too is taken from the \cmd{\PDFcontainer} +% file. +% \medskip +% +% \newcommand*\ooarg[1]{{\ttfamily<}\meta{#1}{\ttfamily>}} +% +% \DescribeMacro{\includegraphicx} +% \cmd{\includegraphicx}\oarg{keys}\parg{pfxadd}\ooarg{ovpfgd}\oarg{ovpbgd}% +% \marg{filename} +% \par\noindent +% Wie im Paket \pkgname{psfragx} definiert zu verwenden. +% \medskip +% +% \DescribeMacro{\savepicture} +% \cmd{\savepicture}\marg{name} +% \par\noindent +% The last output graphics (result of the \env{pspicture} or \env{postscript} +% environments or the \cmd{\includegraphics} statement with an \PS\ file as +% argument) is being saved in a file under the name as given by the parameter. +% \medskip +% +% \DescribeMacro{\usepicture} +% \cmd{\usepicture}\oarg{keys}\marg{name} +% \par\noindent +% Die zuvor mit \cmd{\savepicture} gespeicherte Grafik wird +% ausgegeben. Der optionale Parameter entpricht dem bei der Anweisung +% \cmd{\includegraphics} m\"oglichen. +% \medskip +% +% \DescribeEnv{pst-pdf-defs} +% \cmd{\begin}\texttt{\{pst-pdf-defs\}} \dots +% \cmd{\end}\texttt{\{pst-pdf-defs\}} +% \par\noindent +% Sollen eigene Makros oder Umgebungen definiert werden, die das Zeichen +% \texttt{\&} (andere?) im Ersetzungstext enthalten, so m\"ussen diese +% Definitionen von der Umgebung |pst-pdf-defs| umschlossen werden. +% \medskip +% \fi +% +% \ifGERMAN +% \subsection{Command options} \label{sec:copt} +% Das Verhalten der Anweisungen \cmd{\includegraphics}, \cmd{\usepicture} +% und der Umgebung |postscript| kann mit den folgenden optionalen +% Parametern beeinflusst werden (key-value-Syntax): +% \begin{optlist} +% +% \item[frame=\TorF] Es wird -- \"ahnlich wie bei der +% Anweisung \cmd{\fbox}~-- ein Rahmen um die Grafik gezeichnet. Die +% durch Rotation ge\"anderte Gesamtgr\"o{\ss}e wird dabei +% ber\"ucksichtigt. Das Zeichnen geschieht im +% pdf\LaTeX-Modus; vorher beim Erzeugen der Containerdatei wird dieser +% Parmeter ignoriert. Standard: false. +% +% \item[innerframe=\TorF] Wie ``|frame|'' jedoch +% wird der Rahmen nur um die Grafik selbst, nicht aber um die +% resultierende Box gezeichnet. +% +% \item[ignore=\TorF] Bei ``|true|'' wird die Grafik +% nicht ausgegeben. Bei Angabe von \cmd{\savepicture}\marg{name} +% kann sie sp\"ater jedoch an anderer Stelle mit +% \cmd{\usepicture} verwendet werden. Standard: false. +% +% \item[showname=\TorF] Gibt in kleiner +% Schrift den tats\"achlich verwendeten Dateinamen unter der Grafik +% aus. Standard: false. +% +% \item[namefont=\META{font commands}] Beinflusst die Schriftart, +% die bei ``|showname=true|'' benuzt wird. Standard: +% \cmd{\ttfamily}\cmd{\tiny} +% +% \end{optlist} +% +% Alle Parameter k\"onnen auch global per +% \cmd{\setkeys}|{Gin}|\marg{key=value} gesetzt werden. +% \fi +% +% \ifENGLISH % \subsection{Command options} \label{sec:copt} - % The behaviour of the \cmd{\includegraphics} and \cmd{\usepicture} % statements and the \env{postscript} environment can be modified with any % of the following parameters (key value syntax): @@ -301,7 +561,7 @@ % \cmd{\PDFcontainer} file, it is ignored. Default: false. % % \item[innerframe=\TorF] As in ``|frame|'', but the frame is drawn -% around the graphics, not its box. +% around the gra\-phics, not its box. % % \item[ignore=\TorF] If ``|true|'' no graphics is output. With % \cmd{\savepicture}\marg{name} the graphics can be used later in a @@ -317,7 +577,9 @@ % % All parameters can be set globally as in % \cmd{\setkeys}|{Gin}|\marg{key=value}. -% \bigskip +% \fi +% +% \bigskip \pagebreak[2] % % \StopEventually{} % @@ -359,12 +621,22 @@ \ProcessOptions\relax \ifnum\ppf@TeX@mode=999\relax\expandafter\endinput\fi % \end{macrocode} +% \ifGERMAN +% \subsection{Compilertests} +% Es wird getestet, welcher \TeX\ compiler in welchem Modus +% l\"auft (siehe `|graphics.cfg|' von te\TeX/\TeX Live). Entsprechend +% dem Ergebnis bekommen die Umgebungen |pspicture| und |postscript| +% unterschiedliche Funktionalit\"at. Der Test wird nur ausgef\"uhrt, +% wenn nicht die Paketoptionen |active| oder |inactive| angegeben wurden. +% \fi +% \ifENGLISH % \subsection{Compiler tests} % It is tested which \TeX\ compiler in which mode of operation is actually % used (see `|graphics.cfg|' in te\TeX/\TeX\ Live). Accordingly the % environments \env{pspicture} and \env{postscript} gain each a different % range of functions. This test is only executed when the options |active| % or |inactive| were not given. +% \fi % \begin{macrocode} \ifnum\ppf@TeX@mode=-1\relax \begingroup @@ -413,6 +685,20 @@ \newcommand*\usepicture[2][]{} \newcommand*\savepicture[1]{} % \end{macrocode} +% +% \begin{environment}{pst-pdf-defs} +% \begin{macrocode} + \newenvironment*{pst-pdf-defs}% + {% + \endgroup +% ??? \@currenvline + }{% + \begingroup + \def\@currenvir{pst-pdf-defs}% + } +% \end{macrocode} +% \end{environment} +% % \begin{macrocode} \RequirePackage{graphicx}% \let\ppf@Ginclude@graphics\Ginclude@graphics @@ -426,9 +712,16 @@ \newif\ifGin@showname\Gin@shownamefalse \newif\ifGin@ignore\Gin@ignorefalse % \end{macrocode} +% \ifGERMAN +% \cmd{\ifpr@outer} wird eigentlich im Paket \pkgname{preview} definiert. +% Wir m\"ussen es aber be\-reits hier zus\"atzlich tun, da sonst \TeX\ u.\,U. +% beim Parsen der \cs\texttt{ifcase}-Struktur ``au{\ss}er Tritt'' kommt. +% \fi +% \ifENGLISH % \cmd{\ifpr@outer} in fact is defined in package \pkgname{preview}. We % have to do it here too since otherwise \TeX\ could ``stumble and fall'' % while parsing the \cs\texttt{ifcase} structure. +% \fi % \changes{v1.1i}{2005/06/29}{\cmd{\ifpr@outer} must be predefined. (HjG/RN)} % \begin{macrocode} \newif\ifpr@outer @@ -438,30 +731,55 @@ % extensions. (RN)} % \changes{v1.0r}{2005/03/25}{Changed \cmd{\ppf@is@known@graphic} to % \cmd{\ppf@is@pdfTeX@graphic}. Now pdf\TeX\ graphics are prefered. (RN)} +% \ifGERMAN +% Parameter |#1| ist der Name einer Grafikdatei mit oder ohne Endung, +% Parameter |#2| enth\"alt die g\"ultigen Dateiendungen im pdf-Modus, +% Parameter |#3| enth\"alt die g\"ultigen Dateiendungen im dvi-Modus. +% Ist es m\"oglich, die Grafik im pdf-Modus zu verarbeiten, werden die +% Anweisungen in |#4| ausgef\"uhrt, sonst die in |#5|. +% \fi +% \ifENGLISH % Parameter |#1| is the name of a graphics file with or without extension, % parameter |#2| contains the valid extensions in PDF mode, % parameter |#3| contains the valid extensions in DVI mode. % If it works to process the graphics in PDF mode, then the statements % in |#4| are executed, otherwise those in |#5|. +% \fi % \begin{macrocode} \newcommand*\ppf@is@pdfTeX@graphic[5]{% \@ppf@pdftex@graphicfalse% \begingroup \edef\pdfTeXext{#2}% % \end{macrocode} +% \ifGERMAN +% Statt Einladen einer identifizierten Grafik nur Test der Grafikendung. +% \fi +% \ifENGLISH % Instead of loading the found graphics, only a test on file name extension. +% \fi % \begin{macrocode} \def\Gin@setfile##1##2##3{% \edef\@tempb{##2}% \@for\@tempa:=\pdfTeXext\do{% \ifx\@tempa\@tempb\global\@ppf@pdftex@graphictrue\fi}}% % \end{macrocode} +% \ifGERMAN +% Es m\"ussen Dateitypen beider Moden gefunden werden, um +% die Fehlermeldung ``File `|#1|' not found'' zu vermeiden. +% \fi +% \ifENGLISH % File types for both modes need to be determined to prevent a wrong % error message ``File `|#1|' not found''. +% \fi % \begin{macrocode} \edef\Gin@extensions{#2,#3}% % \end{macrocode} +% \ifGERMAN +% Testaufruf. Dabei Ausgabe vollst\"andig verhindern. +% \fi +% \ifENGLISH % Trial invocation. Output is completely inhibited. +% \fi % \begin{macrocode} \pr@outerfalse\ppf@Ginclude@graphics{#1}% \endgroup @@ -470,9 +788,22 @@ % \end{macrocode} % \end{macro} % \begin{macrocode} - \if@ppf@PST@used\RequirePackage{pstricks}\fi - \ifcase\ppf@TeX@mode\relax -% \end{macrocode} +\ifcase\ppf@TeX@mode\relax +% \end{macrocode} +% \ifGERMAN +% \subsection{Extraction mode (dvi output)} +% Die Umgebung |pspicture| beh\"alt die Definition aus |pstricks.tex|. +% Aus\-schlie{\ss}\-lich der Code der Umgebungen |pspicture| und +% |postscript| sowie \cmd{\includegraphics} mit PS-Dateien bewirken +% Eintr\"age in die DVI-Datei. Der +% restliche Code des Dokuments wird bei der Ausgabe der DVI-Datei +% ignoriert. Nach Wandlung der DVI-Datei \"uber \PS\ (``|dvips|'') +% nach PDF (Datei \cmd{\PDFcontainer}) nimmt jede Grafik +% genau eine Seite der pdf-Datei ein. +% Der \TeX-Compiler mit DVI-Ausgabe sowie die Paketoption ``|active|'' +% erzwingen diesen Modus. +% \fi +% \ifENGLISH % \subsection{Extraction mode (DVI output)} % The \env{pspicture} environment retains any definition from % |pstricks.tex|. Only the code from the environments \env{pspicture} and @@ -482,15 +813,26 @@ % (``|dvips|'') into PDF (\cmd{\PDFcontainer} file) each graphics takes % exactly one page in the \cmd{\PDFcontainer} file. The \TeX\ compiler with % DVI output and the package option ``|active|'' both force this mode. +% \fi +% \changes{v1.1n}{2006/07/14}{\cmd{\nofiles} added (suggestion of Torsten +% Bronger).} % \begin{macrocode} \PackageInfo{pst-pdf}{% MODE: \ppf@TeX@mode\space (dvi -- extraction mode)} + \nofiles + \if@ppf@PST@used\RequirePackage{pstricks}\fi \RequirePackage[active,dvips,tightpage]{preview}[2005/01/29]% \newcommand*\ppf@PreviewBbAdjust{} \newcommand*\ppf@RestoreBbAdjust{% \let\PreviewBbAdjust\ppf@PreviewBbAdjust}% % \end{macrocode} +% \ifGERMAN +% Es werden auch die im pdf\LaTeX-Modus erlaubten Endungen von Grafikdateien +% ben\"otigt. +% \fi +% \ifENGLISH % The pdf\LaTeX\ mode compliant graphics file formats are needed too. +% \fi % \begin{macrocode} \begingroup \let\AtBeginDocument\@gobble \let\PackageWarningNoLine\@gobbletwo @@ -501,16 +843,29 @@ % \end{macrocode} % \changes{v1.1c}{2005/04/17}{Supress handling of pdf\LaTeX\ graphic % formats in DVI mode. (RN)} +% \ifGERMAN +% F\"ur die im PDF-Modus m\"oglichen Grafikformate d\"urfen keine +% speziellen Regeln definiert sein (z.\,B. wegen +% \progname{dvips}-Erweiterungen). F\"ur sie wird die universelle +% EPS-Regel verwendet, damit sie zumindest gefunden werden. +% \fi +% \ifENGLISH % In PDF mode no rules must be defined for its compliant (PNG, JPEG, PDF) % graphics file formats (because of for example \progname{dvips} extensions). % The universal EPS rule is used to at least find these files. +% \fi % \begin{macrocode} \AtBeginDocument{% \@for\@tempa:=\ppf@other@extensions\do{% \expandafter\let\csname Gin@rule@\@tempa\endcsname\relax}% \DeclareGraphicsRule{*}{eps}{*}{}}% % \end{macrocode} +% \ifGERMAN +% In diesem Modus keine Funktion. +% \fi +% \ifENGLISH % No function in this mode. +% \fi % \begin{macrocode} \define@key{Gin}{innerframe}[true]{}% \define@key{Gin}{frame}[true]{}% @@ -529,9 +884,16 @@ % \end{macrocode} % \begin{environment}{postscript} % \changes{v1.0e}{2005/02/03}{``trim'' option added. (RN)} +% \ifGERMAN +% Die Umgebung \env{postscript} wertet die trim-Option in derselben +% Weise wie \cmd{\includegraphics} aus (Angaben ohne Ma{\ss}einheit +% werden als bp interpretiert). +% \fi +% \ifENGLISH % The \env{postscript} environment utilises the trim option in the same % manner as does \cmd{\includegraphics} (any specification without dimension % is interpreted as if given in bp). +% \fi % \begin{macrocode} \newenvironment{postscript}[1][]% {% @@ -555,13 +917,23 @@ {% % \end{macrocode} % \begin{environment}{pspicture} +% \ifGERMAN +% Originaldefinition \pkgname{preview} bekannt machen. +% \fi +% \ifENGLISH % Announce \pkgname{preview} original definition. +% \fi % \begin{macrocode} \PreviewEnvironment{pspicture}% % \end{macrocode} % \end{environment} % \begin{environment}{psmatrix} -% Announce \pkgname{preview} original definition.. +% \ifGERMAN +% Originaldefinition \pkgname{preview} bekannt machen. +% \fi +% \ifENGLISH +% Announce \pkgname{preview} original definition. +% \fi % \begin{macrocode} \@ifundefined{psmatrix}{}% {% @@ -589,6 +961,20 @@ }% % \end{macrocode} % \end{environment} +% \ifGERMAN +% Internes Makro \cmd{\pst@object} bekanntmachen, um manchen +% PSTricks-Code au{\ss}erhalb von pspicture-Umgebungen ebenfalls +% verwenden zu k\"onnen. Derzeit sind Aufrufe der folgenden Art +% m\"oglich: +% \begin{flushleft} +% \cmd{\pst@object}% +% \marg{m}\meta{\texttt{*}}\oarg{o}\marg{o}\marg{o}\parg{o}\parg{o}\parg{o} \\ +% \qquad (|m|\,$=$\,notwendig, |*|\,$=$\,optional, |o|\,$=$\,optional) +% \end{flushleft} +% Mehr als drei optionale Argumente am Ende des Aufrufs, wie +% bei\-spiels\-wei\-se bei \cmd{\psline} denkbar, sind noch nicht m\"oglich. +% \fi +% \ifENGLISH % Announce internal macro \cmd{\pst@object} to enable the use of some % PSTricks code outside of \env{pspicture} environments. At the moment % invocations of the following kind are feasible: @@ -599,6 +985,7 @@ % \end{flushleft} % More than three optional arguments at the call's end, as in % \cmd{\psline} possible, do not work yet. +% \fi % \changes{v1.1a}{2005/04/07}{Support for the internal PSTricks macro % \cmd{\pst@object}. (HjG/RN)} % \begin{macrocode} @@ -610,20 +997,45 @@ ?({#{(#1)}{({#1})}}{}% }]{\pst@object}} % \end{macrocode} +% \ifGERMAN +% Mehrfaches testweises Setzen von Tabelleninhalten durch ``tabularx'' +% verhindern. +% \fi +% \ifENGLISH % Prevent multiple test-wise setting of table contents by ``tabularx''. +% \fi % \changes{v1.1c}{2005/04/17}{Special support for ``tabularx''. (RN)} % \begin{macrocode} \@ifundefined{tabularx}{}{% \def\tabularx#1#2{\tabular{#2}}% \newcolumntype{X}{c}% \let\endtabularx=\endtabular}% +% \end{macrocode} +% \changes{v1.1l}{2006/02/18}{Support for the package ``psfragx''. (RN)} +% \ifGERMAN +% Unterst\"utzung von \cmd{\includegraphicx} aus dem Paket \pkgname{psfragx}. +% \fi +% \ifENGLISH +% Support of \cmd{\includegraphicx} from the package \pkgname{psfragx}. +% \fi +% \begin{macrocode} + \@ifundefined{pfx@includegraphicx}{}{% + \PreviewMacro[{{}{}}]{\pfx@includegraphicx}}% }% % \end{macrocode} % \begin{macro}{\Ginclude@graphics} +% \ifGERMAN +% Alle Grafiken mit bekanntem Format (z.\,B. EPS-Dateien) werden normal +% verarbeitet, was in diesem Modus bedeutet, dass sie der +% Preview-Funktionalit\"at unterliegen. Andere Grafiken (z.\,B. PDF-Dateien) +% werden ignoriert. +% \fi +% \ifENGLISH % All graphics content of well known format (for instance EPS files) is % treated in a regular way, which in this mode denotes that it is subject % to \pkgname{preview} functions. Other graphics content (for instance PDF % files) is ignored. +% \fi % \changes{v1.0k}{2005/02/23}{Prevent division by zero. (RN)} % \changes{v1.1h}{2005/06/26}{Check if inside of a PS-related % environment (correct graphic inclusion). (RN)} @@ -632,24 +1044,45 @@ \def\Ginclude@graphics#1{% \ifpr@outer % \end{macrocode} +% \ifGERMAN +% Im allgemeinen Fall sollen pdf\TeX-Grafiken bevorzugt werden (Einfügen +% erst im pdf\TeX-Modus). Ist nur eine DVIPS-Graphik vorhanden, dann +% wirkt wieder die Originaldefintion und Registrierung beim +% preview-Paket muss erfolgen. +% \fi +% \ifENGLISH % Generally pdf\TeX\ supported graphics formats are intended to be preferred % (inclusion in final pdf\TeX\ run). If it's a \PS\ type graphics, then the % original definition is in function again and registration for the % \pkgname{preview} package is necessary in order to convert this \PS\ type % graphics into PDF. +% \fi % \begin{macrocode} \ppf@is@pdfTeX@graphic{#1}{\ppf@other@extensions}{\Gin@extensions}% % \end{macrocode} +% \ifGERMAN +% Dummy-Box, um Division durch Null bei Skalierung/Rotation zu +% vermeiden. Wird ansonsten ignoriert. +% \fi +% \ifENGLISH % Dummy box to prevent a division by zero while scaling or rotating. % Otherwise ignored. +% \fi % \begin{macrocode} {\rule{10pt}{10pt}}% {\ppf@Ginclude@graphics{#1}}% \else % \end{macrocode} +% \ifGERMAN +% Innerhalb von PS-Umgebungen (\texttt{pspicture} usw.) muss sich +% \cmd{\includegraphics} wie die Originaldefinition verhalten (nur die +% DVIPS-Graphik-Typen sind g\"ultig). +% \fi +% \ifENGLISH % Inside a \PS\ environment (\env{pspicture} etc.) \cmd{\includegraphics} has % to behave as in its original definition (only DVIPS supported graphics % formats are allowed). +% \fi % \begin{macrocode} \ppf@Ginclude@graphics{#1}% \fi @@ -661,11 +1094,21 @@ \let\pdfliteral\@gobble% \or % \end{macrocode} +% \ifGERMAN +% \subsection{pdf\LaTeX\ mode (pdf output)} +% Ist die Datei \cmd{\PDFcontainer} (default: \meta{\cmd{\jobname}}|-pics.pdf|) +% vorhanden, so wird der Inhalt der Umgebungen |pspicture| und +% |postscript| ignoriert. +% Stattdessen wird die zugeh\"orige Grafik aus der Datei \cmd{\PDFcontainer} +% eingebunden. +% \fi +% \ifENGLISH % \subsection{pdf\LaTeX\ mode (PDF output)} % When the \cmd{\PDFcontainer} file (default: % \meta{\cmd{\jobname}}|-pics.pdf|) exists, the contents of the % environments \env{pspicture} and \env{postscript} is ignored. Instead the % corresponding graphics from the \cmd{\PDFcontainer} file is used. +% \fi % \begin{macrocode} \PackageInfo{pst-pdf}{MODE: \ppf@TeX@mode\space (pdfTeX mode)}% \@temptokena{% @@ -673,18 +1116,53 @@ \let\Gin@PS@raw\@gobble\let\Gin@PS@restored\@gobble \@ifundefined{PSTricksLoaded}{}{% % \end{macrocode} +% \ifGERMAN +% F\"ur PSTricks $<$ 2.0 n\"otig. +% \fi +% \ifENGLISH % Necessary if PSTricks $<$ 2.0. +% \fi % \begin{macrocode} \PSTricksOff \@ifundefined{c@lor@to@ps}{\def\c@lor@to@ps#1 #2\@@{}}{}}}% % \end{macrocode} +% \ifGERMAN +% Prevent pdf\TeX's message \texttt{Non-PDF special ignored!}. +% \fi +% \ifENGLISH +% Prevent pdf\TeX's message \texttt{Non-PDF special ignored!}. +% \fi +% \begin{macrocode} + \if@ppf@PST@used + \let\ppf@temp\AtBeginDvi\let\AtBeginDvi\@gobble + \RequirePackage{pstricks}\let\AtBeginDvi\ppf@temp + \fi +% \end{macrocode} +% \ifGERMAN +% \PS-Ausgabe jetzt verhindern und sp\"ater noch einmal. +% \fi +% \ifENGLISH % \PS\ output is now inhibited and later once again. +% \fi % \begin{macrocode} - \the\@temptokena - \expandafter\AtBeginDocument\expandafter{\the\@temptokena}% + \the\@temptokena %%% ???? + \expandafter\AtBeginDocument\expandafter + {\the\@temptokena\@temptokena{}}% \@ifundefined{PSTricksLoaded}{} {% % \end{macrocode} +% \ifGERMAN +% Zum Parsen der Argumente von PSTricks' \cmd{\pst@object} laden wir +% \pkgname{preview} im active-Modus, restaurieren aber die +% standardm\"a{\ss}igen Definitionen von \cmd{\output} +% und \cmd{\shipout}. \cmd{\pr@startbox} und +% \cmd{\pr@endbox} dienen hier nur dazu, um \cmd{\pst@object} wirkungslos +% zu machen und stattdessen die zugeh\"orige Grafik aus der Containerdatei +% einzuladen. Derzeit werden nur maximal 3 optionale Pa\-ra\-meter in runden +% Klammern am Ende von \cmd{\pst@object} unterst\"utzt, was f\"ur viele, +% aber nicht f\"ur alle F\"alle ausreichend ist. +% \fi +% \ifENGLISH % To parse the arguments of PSTricks' \cmd{\pst@object} we load % \pkgname{preview} in active mode, but restore the default definitions of % \cmd{\output} and \cmd{\shipout}. \cmd{\pr@startbox} and \cmd{\pr@endbox} @@ -693,6 +1171,7 @@ % maximum of three optional parameters in round braces (parenthesis) at the % end of \cmd{\pst@object} is supported, which is sufficient, but not % always enough. +% \fi % \changes{v1.1b}{2005/04/09}{Ignore the call of % \cmd{\nofiles} inside of \pkgname{preview}. (RN)} % \begin{macrocode} @@ -704,7 +1183,13 @@ \output\expandafter{\the\ppf@temptoken}% \ppf@temptoken{}% % \end{macrocode} +% \ifGERMAN +% \cmd{\pr@startbox}, \cmd{\pr@endbox}: Gegen\"uber Originaldefinition +% vereinfacht. +% \fi +% \ifENGLISH % \cmd{\pr@startbox}, \cmd{\pr@endbox}: simpler over original definitions. +% \fi % \begin{macrocode} \long\def\pr@startbox#1#2{% \ifpr@outer @@ -723,7 +1208,12 @@ \ppf@@getpicture \pr@cleanup}% % \end{macrocode} +% \ifGERMAN +% (Siehe auch identische Definition im DVI-Modus.) +% \fi +% \ifENGLISH % (See also the identical definition in DVI mode.) +% \fi % \begin{macrocode} \AtBeginDocument{% \@ifundefined{pst@object}{}% @@ -738,14 +1228,25 @@ }% }% % \end{macrocode} +% \ifGERMAN +% Es werden auch die im DVI-Modus erlaubten Endungen von Grafikdateien +% ben\"otigt. +% \fi +% \ifENGLISH % Too the supported file name extensions from DVI mode are needed. +% \fi % \begin{macrocode} \begingroup \input{dvips.def}% \edef\x{\endgroup\def\noexpand\ppf@other@extensions{\Gin@extensions}}% \x % \end{macrocode} +% \ifGERMAN +% Dummy-Definition f\"ur die im DVI-Modus g\"ultigen Dateitypen. +% \fi +% \ifENGLISH % Dummy definition for in DVI mode supported file formats. +% \fi % \begin{macrocode} \DeclareGraphicsRule{*}{eps}{*}{}% % \end{macrocode} @@ -758,7 +1259,12 @@ \lowercase{\Gin@boolkey{#1}}{ignore}}% \define@key{Gin}{frame@@}{% % \end{macrocode} +% \ifGERMAN +% (Nur intern zu benutzen!) +% \fi +% \ifENGLISH % (For internal use only!) +% \fi % \begin{macrocode} \edef\@tempa{\toks@{\noexpand\frame{\the\toks@}}}% \ifcase#1\relax @@ -782,7 +1288,12 @@ \let\ppf@Gin@setfile\Gin@setfile % \end{macrocode} % \begin{macro}{\Gin@setfile} +% \ifGERMAN +% Realen Dateinamen und ggf. Seitenzahl zur sp\"ateren Verwendung merken. +% \fi +% \ifENGLISH % Save real file name and, if applicable, page number for later use. +% \fi % \changes{v1.0k}{2005/02/23}{Show also the pagenumber if exists. (RN)} % \begin{macrocode} \def\Gin@setfile#1#2#3{\ppf@Gin@setfile{#1}{#2}{#3}% @@ -791,28 +1302,53 @@ % \end{macrocode} % \end{macro} % \begin{macro}{\Gin@ii} +% \ifGERMAN +% Auswertung der Optionen ``frame'', ``ignore'' usw. sowie weiterer +% Spezialf\"alle. +% \fi +% \ifENGLISH % Examine the options ``frame'', ``ignore'', etc. as soon as other % special cases. +% \fi % \changes{v1.0s}{2005/03/28}{Rewritten. (RN)} % \begin{macrocode} \def\Gin@ii[#1]#2{% \begingroup % \end{macrocode} +% \ifGERMAN +% Der Wert \cmd{\ifGin@innerframe} muss bereits vor Zeichnen des +% inneren Rahmens bekannt sein. Die Werte f\"ur \cmd{\ifGin@showname} und +% \cmd{\ppf@namefont} m\"ussen auch nach Darstellung der Grafik verf\"ugbar +% sein. Daher durch eine Gruppe gesch\"utzt vorher Auswertung der Optionen. +% \fi +% \ifENGLISH % The value of \cmd{\ifGin@innerframe} has to be known before the inner % frame is drawn. The values for \cmd{\ifGin@showname} and % \cmd{\ppf@namefont} need to be available after rendering the graphics % too. Thus beforehand and protected inside a group examine the options. +% \fi % \begin{macrocode} \setkeys{Gin}{#1}% \@temptokena{#1}\def\@tempb{#2}% % \end{macrocode} +% \ifGERMAN +% Leerer Dateiname beim Aufruf von \cmd{\usepicture} aus. +% \fi +% \ifENGLISH % Finds empty file name when calling \cmd{\usepicture}. +% \fi % \begin{macrocode} \ifx\@tempb\@empty\else \ppf@is@pdfTeX@graphic{#2}{\Gin@extensions}{\ppf@other@extensions}% % \end{macrocode} +% \ifGERMAN +% Grafiken aus Containerdatei sind bereits skaliert usw. Nicht noch +% einmal, daher optionalen Parameter ignorieren. +% \fi +% \ifENGLISH % Graphics out of \cmd{\PDFcontainer} are complete -- scaled, rotated, etc. % Don't apply these things again and therefore ignore the optional parameters. +% \fi % \begin{macrocode} {% \ifx\@tempb\PDFcontainer @@ -826,7 +1362,13 @@ \fi \ifGin@ignore\else % \end{macrocode} +% \ifGERMAN +% ``|frame@@=0|''\,$=$\,innerer Rahmen, ``|frame@@=1|''\,$=$\,\"au{\ss}erer +% Rahmen. +% \fi +% \ifENGLISH % ``|frame@@=0|''\,$=$\,inner frame, ``|frame@@=1|''\,$=$\,outer frame. +% \fi % \begin{macrocode} \edef\@tempa{\noexpand\ppf@Gin@ii[frame@@=0,\the\@temptokena, frame@@=1]{\@tempb}}% @@ -846,7 +1388,12 @@ {% % \end{macrocode} % \begin{macro}{\ppf@container@max} +% \ifGERMAN +% Die Anzahl der in der Containerdatei enthaltenen Seiten. +% \fi +% \ifENGLISH % The number of pages as contained in \cmd{\PDFcontainer} file. +% \fi % \begin{macrocode} \pdfximage{\PDFcontainer}% \edef\ppf@container@max{\the\pdflastximagepages}% @@ -856,7 +1403,13 @@ \AtEndDocument{% \ifnum\c@pspicture>\z@ % \end{macrocode} +% \ifGERMAN +% Warnung ist nur sinnvoll, wenn \"uberhaupt Grafiken ben\"otigt +% wurden. +% \fi +% \ifENGLISH % A warning only makes sense when a graphics is needed at all. +% \fi % \begin{macrocode} \ifnum\c@pspicture=\ppf@container@max\else \PackageWarningNoLine{pst-pdf}{% @@ -889,8 +1442,14 @@ }% % \end{macrocode} % \begin{macro}{\ppf@isnum} +% \ifGERMAN +% Ist Parameter |#1| numerisch, werden Anweisungen in |#2| +% sonst die in |#3| ausgef\"uhrt (siehe \pkgname{bibtopic.sty}). +% \fi +% \ifENGLISH % If parameter |#1| is numeric, the instructions in |#2|, % otherwise those in |#3| are executed (see \pkgname{bibtopic.sty}). +% \fi % \begin{macrocode} \newcommand\ppf@isnum[1]{% \if!\ifnum9<1#1!\else_\fi\expandafter\@firstoftwo @@ -903,9 +1462,17 @@ % \begin{environment}{pspicture} % \changes{v1.1g}{2005/05/28}{pspicture environment % must still parse its arguments. (RN/HjG)} +% \ifGERMAN +% Beide Umgebungen ignorieren ihren Inhalt und laden stattdessen die +% zugeh\"orige Grafik aus der Containerdatei. Auf den Wert des dabei +% benutzten Z\"ahlers (|pspicture|) +% kann per \cmd{\label}/\cmd{\ref} zugegriffen werden. +% \fi +% \ifENGLISH % Both environments ignore their contents and load instead the corresponding % graphics out of the \cmd{\PDFcontainer} file. The value of the herein used % |pspicture| counter's value can be used in \cmd{\label}/\cmd{\ref}. +% \fi % \begin{environment}{psmatrix} % \changes{v1.1d}{2005/04/19}{Support for PSTricks environment % ``psmatrix''. (RN)} @@ -930,14 +1497,26 @@ \gdef\ppf@Gin@keys{}% \def\@tempa{postscript}\ifx\@tempa\@currenvir\gdef\ppf@Gin@keys{#1}\fi % \end{macrocode} +% \ifGERMAN +% Innerhalb der Umgebung ist das Parsen der Argumente von +% \cmd{\pst@object} unn\"otig, daher wieder Originaldefinition +% verwenden. +% \fi +% \ifENGLISH % Inside this environment parsing of \cmd{\pst@object}'s arguments is not % necessary, thus the original definition is used again. +% \fi % \begin{macrocode} \expandafter\let\expandafter\pst@object \csname pr@\string\pst@object\endcsname \pr@outerfalse % \end{macrocode} +% \ifGERMAN +% N\"otig f\"ur \cmd{\psmatrix}. +% \fi +% \ifENGLISH % Needed for \cmd{\psmatrix}. +% \fi % \begin{macrocode} \@makeother\&% \def\Gin@ii[##1]##2{}\setbox\@tempboxa=\vbox\bgroup @@ -962,6 +1541,24 @@ \@ifundefined{psmatrix}{}% {\let\psmatrix=\postscript\let\endpsmatrix=\endpostscript}% }% + \@ifundefined{pfx@includegraphicx}{}{% +% \end{macrocode} +% \ifGERMAN +% Die im pdf\TeX-Modus unn\"utze Umdefinition von +% \cmd{\includegraphics} (Paket \pkgname{psfragx}) f\"uhrt zu zweifachem +% Einfügen des Ergebnisses, weshalb die Originaldefition wiederhergestellt +% wird. +% \fi +% \ifENGLISH +% Die im pdf\TeX-Modus unn\"utze Umdefinition von +% \cmd{\includegraphics} (Paket \pkgname{psfragx}) f\"uhrt zu zweifachem +% Einfügen des Ergebnisses, weshalb die Originaldefition wiederhergestellt +% wird. +% \fi +% \begin{macrocode} + \let\includegraphics=\pfx@includegraphics + \def\pfx@includegraphicx#1#2{\ppf@@getpicture}% + }% }% % \end{macrocode} % \end{environment} @@ -969,7 +1566,13 @@ % \end{environment} % \begin{macro}{\savepicture} % \changes{v1.0f}{2005/02/04}{New macro \cmd{\savepspicture}. (RN)} +% \ifGERMAN +% Speichert die Nummer der aktuellen Grafik in einem Makro mit Namen +% \cmd{\ppf@@@}|#1|. +% \fi +% \ifENGLISH % Saves the recent graphics' number in a macro named \cmd{\ppf@@@}|#1|. +% \fi % \begin{macrocode} \def\savepicture#1{% \expandafter\xdef\csname ppf@@@#1\endcsname{\the\pdflastximage}}% @@ -982,11 +1585,20 @@ % numerical parameter. (RN)} % \changes{v1.0q}{2005/03/20}{Now \cmd{\usepspicture} works for all % kind of graphics. (RN)} +% \ifGERMAN +% F\"ugt Grafik mit symbolischem Namen |#2| ein. Der Name +% muss vorher mit \cmd{\savepicture}\marg{Name} vereinbart worden +% sein. Statt des Namens kann auch eine Zahl angegeben werden, die dann +% direkt eine Grafik aus der Containerdatei adressiert. +% Der optionale Parameter |#1| entspricht dem bei \cmd{\includegraphics}. +% \fi +% \ifENGLISH % Inserts graphics with symbolic name |#2|. This name has to be declared % beforehand in \cmd{\savepicture}\marg{name}. Instead of a name a number % can be used too, which directly addresses a graphics in the % \cmd{\PDFcontainer} file. The optional parameter |#1| corresponds to the % one in \cmd{\includegraphics}. +% \fi % \begin{macrocode} \renewcommand*\usepicture[2][]{% \@ifundefined{ppf@@@#2}% @@ -1019,8 +1631,14 @@ % \end{macrocode} % \end{macro} % \begin{macro}{\ppf@getpicture} +% \ifGERMAN +% F\"ugt die Seite (Grafik) mit Nummer |#2| aus der Containerdatei +% ein. Parameter |#1|: Optionen wie bei \cmd{\includegraphics}. +% \fi +% \ifENGLISH % Inserts the page (graphics) with number |#2| from the \cmd{\PDFcontainer} % file. Parameter |#1|: any option as in \cmd{\includegraphics}. +% \fi % \begin{macrocode} \newcommand*\ppf@getpicture[2]{% \@tempcnta=#2\relax% @@ -1035,7 +1653,12 @@ % \end{macrocode} % \end{macro} % \begin{macro}{\ppf@@getpicture} +% \ifGERMAN +% F\"ugt die n\"achste Seite (Grafik) aus der Containerdatei ein. +% \fi +% \ifENGLISH % Inserts next page (graphics) from the \cmd{\PDFcontainer} file. +% \fi % \begin{macrocode} \newcommand*\ppf@@getpicture{% \ifpr@outer @@ -1045,13 +1668,52 @@ \fi}% % \end{macrocode} % \end{macro} +% +% \begin{environment}{pst-pdf-defs} +% \ifGERMAN +% Umgebung, die keine eigene Gruppe aufmacht. Innerhalb der Umgebung +% bekommt das Zeichen |&| den Kategoriecode "`other"'. Gedacht f\"ur +% eigene Makros, die z.\,B.\ eine \env{psmatrix} enthalten. +% (Einen ``Hook'' verwenden, falls andere Zeichen auch noch ben\"otigt +% werden!?) +% \fi +% \ifENGLISH +% Umgebung, die keine eigene Gruppe aufmacht. Innerhalb der Umgebung +% bekommt das Zeichen |&| den Kategoriecode "`other"'. Gedacht f\"ur +% eigene Makros, die z.\,B.\ eine \env{psmatrix} enthalten. +% (Einen ``Hook'' verwenden, falls andere Zeichen auch noch ben\"otigt +% werden!?) +% \fi +% \begin{macrocode} + \renewenvironment*{pst-pdf-defs}% + {% + \endgroup +% ??? \@currenvline + \chardef\ppf@temp=\catcode`\&% + \@makeother\&% + }{% + \catcode`\&=\ppf@temp + \begingroup + \def\@currenvir{pst-pdf-defs}% + } +% \end{macrocode} +% \end{environment} +% % \begin{macrocode} \else % \end{macrocode} +% \ifGERMAN +% \subsection{Inactiver Modus} +% Es werden nur die Pakete \pkgname{pstricks} und \pkgname{graphicx} geladen +% -- keine weitere Einflussnahme. Die Paketoption +% "`|inactive|"' sowie der V\TeX-Compiler erzwingen diesen Modus. +% \fi +% \ifENGLISH % \subsection{Inactive Mode} % Only the packages \pkgname{pstricks} and \pkgname{graphicx} are loaded % -- no further exertion of influence. The package option % ``|inactive|'' as soon as the V\TeX compiler force this mode. +% \fi % \begin{macrocode} \PackageInfo{pst-pdf}{MODE: \ppf@TeX@mode\space (inactive mode)}% \newenvironment{postscript}[1][]{\ignorespaces}{} @@ -1070,6 +1732,13 @@ % % And here comes the example document ... %<*example> +%% Process this file with the scripts `ps4pdf' or `ps4pdf.bat' or call +%% +%% latex pst-pdf-example.tex +%% dvips -Ppdf -o pst-pdf-example-pics.ps pst-pdf-example.dvi +%% ps2pdf -dAutoRotatePages=/None pst-pdf-example-pics.ps pst-pdf-example-pics.pdf +%% pdflatex pst-pdf-example.tex +%% \listfiles\errorcontextlines=100\relax \documentclass[12pt]{article} @@ -1088,6 +1757,48 @@ \end{postscript} \savepicture{ps:A} + +\begin{pst-pdf-defs}% + +%% This definition must be within the pst-pdf-defs environment! +\newcommand*\mytree{% + \begin{psmatrix}[rowsep=.2cm,colsep=2cm] + & & E \\ + & A & \\ + & & F \\ + $\bullet$ & & \\ + & & G \\ + & B & \\ + & & H \\ + \scriptsize + \psset{shortput=nab,arrows=->,labelsep=2pt,nodesep=2pt,nrot=:U} + + \ncline{4,1}{2,2}\ncput*{$0,2$} + \ncline{4,1}{6,2}\ncput*{$x$} + + \ncline{2,2}{1,3}\ncput*{$0,3$} + \ncline{2,2}{3,3}\ncput*{$y$} + + \ncline{6,2}{5,3}\ncput*{$z$} + \ncline{6,2}{7,3}\ncput*{$0,8$} + \end{psmatrix}% +} + +\end{pst-pdf-defs}% + +%% This works without the pst-pdf-defs environment! +\newcommand*\mymatrix{% + \begin{postscript} + \[ + \begin{array}{rcl} + a & b & c \\ + 1 & 2 & 3 \\ + \end{array} + \] + \end{postscript}% +} + + \begin{document} \setkeys{Gin}{showname,frame}% @@ -1267,5 +1978,13 @@ \ncline[nodesep=-1em,linecolor=red]{D}{J} \end{displaymath} +\bigskip + +\mytree + +\bigskip + +\mymatrix + \end{document} %</example> |