From a07899e75d3e36930c84729b244f0284f34570aa Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Sun, 28 Mar 2010 00:45:12 +0000 Subject: new latex package pdf14 (27mar10) git-svn-id: svn://tug.org/texlive/trunk@17583 c570f23f-e606-0410-a88d-b1316a301751 --- Master/texmf-dist/doc/latex/pdf14/README | 16 ++ Master/texmf-dist/doc/latex/pdf14/pdf14.pdf | Bin 0 -> 361197 bytes Master/texmf-dist/doc/latex/pdf14/test-pdf14.tex | 21 +++ Master/texmf-dist/source/latex/pdf14/Makefile | 94 ++++++++++ Master/texmf-dist/source/latex/pdf14/pdf14.dtx | 227 +++++++++++++++++++++++ Master/texmf-dist/tex/latex/pdf14/pdf14.sty | 39 ++++ Master/tlpkg/bin/tlpkg-ctan-check | 2 +- Master/tlpkg/tlpsrc/collection-latexextra.tlpsrc | 1 + Master/tlpkg/tlpsrc/pdf14.tlpsrc | 0 9 files changed, 399 insertions(+), 1 deletion(-) create mode 100644 Master/texmf-dist/doc/latex/pdf14/README create mode 100644 Master/texmf-dist/doc/latex/pdf14/pdf14.pdf create mode 100644 Master/texmf-dist/doc/latex/pdf14/test-pdf14.tex create mode 100644 Master/texmf-dist/source/latex/pdf14/Makefile create mode 100644 Master/texmf-dist/source/latex/pdf14/pdf14.dtx create mode 100644 Master/texmf-dist/tex/latex/pdf14/pdf14.sty create mode 100644 Master/tlpkg/tlpsrc/pdf14.tlpsrc diff --git a/Master/texmf-dist/doc/latex/pdf14/README b/Master/texmf-dist/doc/latex/pdf14/README new file mode 100644 index 00000000000..f1742561eb0 --- /dev/null +++ b/Master/texmf-dist/doc/latex/pdf14/README @@ -0,0 +1,16 @@ + The pdf14 LaTeX package + + Manuel P\'egouri\'e-Gonnard + + + + +Starting with TeX Live 2010, the various formats that directly generate PDF +default to PDF 1.5. While this allows for more compact documents thanks to +objects compression, it can also lead to compatibility issues with some older +PDF viewers. This package changes back the version of generated PDF to 1.4 with +formats based on pdfTeX or LuaTeX in PDF mode, for documents that need to +achieve maximal compatibility with old viewers. + +If you need to generate maximally compatible documents, you may also be +interested in the pdfx package. diff --git a/Master/texmf-dist/doc/latex/pdf14/pdf14.pdf b/Master/texmf-dist/doc/latex/pdf14/pdf14.pdf new file mode 100644 index 00000000000..f527dd10dcc Binary files /dev/null and b/Master/texmf-dist/doc/latex/pdf14/pdf14.pdf differ diff --git a/Master/texmf-dist/doc/latex/pdf14/test-pdf14.tex b/Master/texmf-dist/doc/latex/pdf14/test-pdf14.tex new file mode 100644 index 00000000000..53d8e7beb62 --- /dev/null +++ b/Master/texmf-dist/doc/latex/pdf14/test-pdf14.tex @@ -0,0 +1,21 @@ +%% +%% This is file `test-pdf14.tex', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% pdf14.dtx (with options: `testfile') +%% +%% Written in 2010 by Manuel P\'egouri\'e-Gonnard . +%% +%% This work can be distributed and/or modified under the terms of the LPPL. +%% This is a generated file, see source file pdf14.dtx for more details. +%% +\documentclass{minimal} +\usepackage{pdf14} +\begin{document} +Bla. +\end{document} +\endinput +%% +%% End of file `test-pdf14.tex'. diff --git a/Master/texmf-dist/source/latex/pdf14/Makefile b/Master/texmf-dist/source/latex/pdf14/Makefile new file mode 100644 index 00000000000..d14580db570 --- /dev/null +++ b/Master/texmf-dist/source/latex/pdf14/Makefile @@ -0,0 +1,94 @@ +# Makefile for pdf14 + +NAME = pdf14 + +DTX = $(NAME).dtx +STY = $(NAME).sty +DOC = $(NAME).pdf + +# Files by generation mode +UNPACKED = $(STY) test-$(NAME).tex +COMPILED = $(DOC) +GENERATED = $(COMPILED) $(UNPACKED) +SOURCE = $(DTX) README Makefile + +# Files by installation location +RUNFILES = $(filter-out test-%, $(UNPACKED)) +DOCFILES = $(DOC) $(filter test-%, $(UNPACKED)) README +SRCFILES = $(DTX) Makefile + +# The following definitions should be equivalent +# ALL_FILES = $(RUNFILES) $(DOCFILES) $(SRCFILES) +ALL_FILES = $(GENERATED) $(SOURCE) + +# Installation locations +FORMAT = latex +RUNDIR = $(TEXMFROOT)/tex/$(FORMAT)/$(NAME) +DOCDIR = $(TEXMFROOT)/doc/$(FORMAT)/$(NAME) +SRCDIR = $(TEXMFROOT)/source/$(FORMAT)/$(NAME) +TEXMFROOT = ./texmf + +# Zip files +CTAN_ZIP = $(NAME).zip +TDS_ZIP = $(NAME).tds.zip +ZIPS = $(CTAN_ZIP) $(TDS_ZIP) + +# TeX-related commands +DO_TEX = tex --interaction=batchmode $< >/dev/null +DO_PDFLATEX = pdflatex --interaction=batchmode $< >/dev/null +DO_LUALATEX = lualatex --interaction=batchmode $< >/dev/null +DO_LATEX = latex --interaction=batchmode $< >/dev/null + +define run-install +@mkdir -p $(RUNDIR) && cp $(RUNFILES) $(RUNDIR) +@mkdir -p $(DOCDIR) && cp $(DOCFILES) $(DOCDIR) +@mkdir -p $(SRCDIR) && cp $(SRCFILES) $(SRCDIR) +endef + +# Main targets definition +all: $(GENERATED) +doc: $(COMPILED) +unpack: $(UNPACKED) +ctan: check $(CTAN_ZIP) +tds: $(TDS_ZIP) Makefile +world: all ctan +.PHONY: all doc unpack ctan tds world check install clean mrproper + +%.pdf: %.dtx + $(DO_PDFLATEX) + $(DO_PDFLATEX) + +$(UNPACKED): $(DTX) + $(DO_TEX) + +check: test-$(NAME).tex $(STY) + $(DO_PDFLATEX) + head -n1 test-$(NAME).pdf | grep '^%PDF-1\.4$$' + $(DO_LUALATEX) + head -n1 test-$(NAME).pdf | grep '^%PDF-1\.4$$' + $(DO_LATEX) + + +$(CTAN_ZIP): $(SOURCE) $(COMPILED) $(TDS_ZIP) + @echo "Making $@ for CTAN upload." + @$(RM) -- $@ + @zip -9 $@ $^ >/dev/null + +$(TDS_ZIP): TEXMFROOT=./tmp-texmf +$(TDS_ZIP): $(ALL_FILES) + @echo "Making TDS-ready archive $@." + @$(RM) -- $@ + $(run-install) + @cd $(TEXMFROOT) && zip -9 ../$@ -r . >/dev/null + @$(RM) -r -- $(TEXMFROOT) + +install: $(ALL_FILES) + @echo "Installing in '$(TEXMFROOT)'." + $(run-install) + +clean: + @$(RM) -- *.log *.aux *.toc test-* + +mrproper: clean + @$(RM) -- $(GENERATED) $(ZIPS) + diff --git a/Master/texmf-dist/source/latex/pdf14/pdf14.dtx b/Master/texmf-dist/source/latex/pdf14/pdf14.dtx new file mode 100644 index 00000000000..9f94d912e4e --- /dev/null +++ b/Master/texmf-dist/source/latex/pdf14/pdf14.dtx @@ -0,0 +1,227 @@ +% \iffalse meta-comment +% +% pdf14.dtx +% +% Written in 2010 by Manuel P\'egouri\'e-Gonnard . +% +% This work may be distributed and/or modified under the +% conditions of the LaTeX Project Public License, either version 1.3 +% of this license or (at your option) any later version. +% The latest version of this license is in +% http://www.latex-project.org/lppl.txt +% and version 1.3 or later is part of all distributions of LaTeX +% version 2005/12/01 or later. +% +% This work has the LPPL maintenance status `maintained'. +% +% The Current Maintainer of this work is Manuel P\'egouri\'e-Gonnard. +% +% This work consists of the source file pdf14.dtx +% and the derived files pdf14.sy, pdf14.pdf, test-pdf14.tex. +% +% Unpacking: +% tex pdf14.dtx +% Documentation: +% pdflatex pdf14.dtx +% +%<*ignore> +\begingroup + \def\x{LaTeX2e}% +\expandafter\endgroup +\ifcase 0\ifx\install y1\fi\expandafter + \ifx\csname processbatchFile\endcsname\relax\else1\fi + \ifx\fmtname\x\else 1\fi\relax +\else\csname fi\endcsname +% +%<*install> +\input docstrip.tex + +\keepsilent +\askforoverwritefalse + +\preamble + +Written in 2010 by Manuel P\string\'egouri\string\'e-Gonnard . + +This work can be distributed and/or modified under the terms of the LPPL. +This is a generated file, see source file \inFileName for more details. + +\endpreamble + +\generate{% + \file{pdf14.sty}{\from{pdf14.dtx}{package}}% + \file{test-pdf14.tex}{\from{pdf14.dtx}{testfile}}% +} + +\obeyspaces +\Msg{************************************************************************} +\Msg{*} +\Msg{* To finish the installation you have to move the following} +\Msg{* file into a directory searched by TeX:} +\Msg{*} +\Msg{* pdf14.sty} +\Msg{*} +\Msg{* Happy TeXing!} +\Msg{*} +\Msg{************************************************************************} + +\endbatchfile +% +%<*ignore> +\fi +% +%<*driver> +\documentclass{ltxdoc} +\usepackage[ascii]{inputenc} +\usepackage[T1]{fontenc} +\usepackage{lmodern} +\usepackage[a4paper]{geometry} +\usepackage{xspace} +\usepackage[babel=true, expansion=false]{microtype} +\usepackage[english]{babel} +\usepackage{hyperref} +\usepackage{bookmark} + +\newcommand\pf{\textsf} +\newcommand\mailto[1]{\href{mailto:#1}{<#1>}} +\newcommand\texlive{\TeX\,Live\xspace} + +\begin{document} +\DocInput{pdf14.dtx} +\end{document} +% +% \fi +% +% \CheckSum{0} +% +% \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 +% Lower-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 +% Digits \0\1\2\3\4\5\6\7\8\9 +% Exclamation \! Double quote \" Hash (number) \# +% Dollar \$ Percent \% Ampersand \& +% Acute accent \' Left paren \( Right paren \) +% Asterisk \* Plus \+ Comma \, +% Minus \- Point \. Solidus \/ +% Colon \: Semicolon \; Less than \< +% Equals \= Greater than \> Question mark \? +% Commercial at \@ Left bracket \[ Backslash \\ +% Right bracket \] Circumflex \^ Underscore \_ +% Grave accent \` Left brace \{ Vertical bar \| +% Right brace \} Tilde \~} +% +% \title{The \pf{pdf14} \LaTeX\ package} +% \date{2010/03/26 v0.1} +% \author{Manuel P\'egouri\'e-Gonnard \mailto{mpg@elzevir.fr}} +% +% \maketitle +% +% \begin{abstract} +% Starting with \texlive 2010, the various formats that directly generate PDF +% default to PDF 1.5. While this allows for more compact documents thanks to +% objects compression, it can also lead to compatibility issues with some +% older PDF viewers.\footnote{For reference, Adobe Reader 6.0, released in +% 2003, was the first reader to handle PDF 1.5.} This package changes back the +% version of generated PDF to 1.4 with formats based on pdf\TeX{} or Lua\TeX\ +% in PDF mode, for documents that need to achieve maximal compatibility with +% old viewers. +% +% If you need to generate maximally compatible documents, you may also be +% interested in the \pf{pdfx} package. +% \end{abstract} +% +% \section{Documentation} +% +% Just load this package, preferably right after the \verb+\documentclass+ +% command. That's it. The rest of this documentation describes possible +% problems that may arise under particular circumstances. +% +% The \pf{pdf14} package should be loaded as early as possible in order to +% avoid problems. If you run into an error like: +% \begin{verbatim} +% ! pdfTeX error (setup): \pdfminorversion cannot be changed after data is +% written to the PDF file. +% \end{verbatim} +% it probably means that some package loaded before \pf{pdf14} did write data +% to the PDF file. In case the document class is (indirectly) doing it, you'll +% need to load \pf{pdf14} even before the \verb+\documentclass+ command, using +% \verb+\RequirePackage{pdf14}+ as the first line of your source file. +% +% Also, another package might try to set the PDF version itself, likely because +% it is going to use some advanced PDF features. Currently, no check for this +% is done by \pf{pdf14} to guard against this. So, it is your responsibility +% to check that the document produced are actually PDF 1.4.\footnote{You may +% do so using \texttt{pdfinfo} from the Xpdf distribution, or the +% File$\to$Properties menu of Acrobat Reader.} Future versions of \pf{pdf14} +% may include such a check, but it could only guarantee that the +% \emph{declared} PDF version has not been changed, not that the file produced +% is actually correct PDF 1.4.\footnote{Unfortunately, some packages are known +% to use features available only in PDF 1.5 and greater without properly +% setting the declared PDF version.} +% +% \section{Implementation} +% +% \begin{macrocode} +%<*package> +\NeedsTeXFormat{LaTeX2e} +\ProvidesPackage{pdf14}[2010/03/26 v0.1 Generate PDF 1.4 documents (mpg)] +% \end{macrocode} +% +% Check if we are running pdf\TeX\ or Lua\TeX\ in PDF mode. If not, issue +% an information message and exit. Since we address only \LaTeX-based +% formats in \texlive, we can assume that \verb|\pdfoutput| is available. +% (We don't load \pf{ifpdf} in order to avoid loading too many packages +% before \verb+\documentclass+.) +% +% \begin{macrocode} +\begingroup +\def\x{% + \PackageInfo{pdf14}{% + You are not running pdfTeX (or LuaTeX) in PDF mode.\MessageBreak + Package pdf14 is useless in this case. Skipping.}% + \endinput} +\expandafter\ifx\csname pdfoutput\endcsname\relax \else + \ifnum\pdfoutput<1 \else + \def\x{}% + \fi +\fi +\expandafter\endgroup +\x +% \end{macrocode} +% +% Actually set the values if the corresponding primitives are available. +% +% \begin{macrocode} +\begingroup\expandafter\expandafter\expandafter\endgroup +\expandafter\ifx\csname pdfminorversion\endcsname\relax \else + \pdfminorversion4\relax +\fi +\begingroup\expandafter\expandafter\expandafter\endgroup +\expandafter\ifx\csname pdfobjcompresslevel\endcsname\relax \else + \pdfobjcompresslevel0\relax +\fi +% \end{macrocode} +% +% \begin{macrocode} +% +% \end{macrocode} +% +% \section{Test} +% +% Minimal \LaTeX\ file actually producing some output, just to check that +% the package loads correctly, and that the produced file is actually PDF +% 1.4 (see the Makefile). +% +% \begin{macrocode} +%<*testfile> +\documentclass{minimal} +\usepackage{pdf14} +\begin{document} +Bla. +\end{document} +% +% \end{macrocode} +% +% +% \Finale +\endinput diff --git a/Master/texmf-dist/tex/latex/pdf14/pdf14.sty b/Master/texmf-dist/tex/latex/pdf14/pdf14.sty new file mode 100644 index 00000000000..4de4581d821 --- /dev/null +++ b/Master/texmf-dist/tex/latex/pdf14/pdf14.sty @@ -0,0 +1,39 @@ +%% +%% This is file `pdf14.sty', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% pdf14.dtx (with options: `package') +%% +%% Written in 2010 by Manuel P\'egouri\'e-Gonnard . +%% +%% This work can be distributed and/or modified under the terms of the LPPL. +%% This is a generated file, see source file pdf14.dtx for more details. +%% +\NeedsTeXFormat{LaTeX2e} +\ProvidesPackage{pdf14}[2010/03/26 v0.1 Generate PDF 1.4 documents (mpg)] +\begingroup +\def\x{% + \PackageInfo{pdf14}{% + You are not running pdfTeX (or LuaTeX) in PDF mode.\MessageBreak + Package pdf14 is useless in this case. Skipping.}% + \endinput} +\expandafter\ifx\csname pdfoutput\endcsname\relax \else + \ifnum\pdfoutput<1 \else + \def\x{}% + \fi +\fi +\expandafter\endgroup +\x +\begingroup\expandafter\expandafter\expandafter\endgroup +\expandafter\ifx\csname pdfminorversion\endcsname\relax \else + \pdfminorversion4\relax +\fi +\begingroup\expandafter\expandafter\expandafter\endgroup +\expandafter\ifx\csname pdfobjcompresslevel\endcsname\relax \else + \pdfobjcompresslevel0\relax +\fi +\endinput +%% +%% End of file `pdf14.sty'. diff --git a/Master/tlpkg/bin/tlpkg-ctan-check b/Master/tlpkg/bin/tlpkg-ctan-check index fd052fef2cf..9601c46a734 100755 --- a/Master/tlpkg/bin/tlpkg-ctan-check +++ b/Master/tlpkg/bin/tlpkg-ctan-check @@ -213,7 +213,7 @@ my @TLP_working = qw( pagecont pagenote pagerange paper papercdcase papertex parallel paresse parrun passivetex patch patchcmd patgen2-tutorial pauldoc pax pbox pb-diagram - pdf-forms-tutorial-de pdf-forms-tutorial-en + pdf14 pdf-forms-tutorial-de pdf-forms-tutorial-en pdf-trans pdfcomment pdfcprot pdfcrop pdfmarginpar pdfpages pdfscreen pdfslide pdfsync pdftex-def pdftricks pdfx perception perltex diff --git a/Master/tlpkg/tlpsrc/collection-latexextra.tlpsrc b/Master/tlpkg/tlpsrc/collection-latexextra.tlpsrc index ba28bdc2074..2bcda038428 100644 --- a/Master/tlpkg/tlpsrc/collection-latexextra.tlpsrc +++ b/Master/tlpkg/tlpsrc/collection-latexextra.tlpsrc @@ -431,6 +431,7 @@ depend pawpict depend pax depend pbox depend pbsheet +depend pdf14 depend pdfcomment depend pdfcprot depend pdfmarginpar diff --git a/Master/tlpkg/tlpsrc/pdf14.tlpsrc b/Master/tlpkg/tlpsrc/pdf14.tlpsrc new file mode 100644 index 00000000000..e69de29bb2d -- cgit v1.2.3