summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2007-06-17 23:26:53 +0000
committerKarl Berry <karl@freefriends.org>2007-06-17 23:26:53 +0000
commitaf0203ab8d35127f3a5b1aaeed7433deb114878c (patch)
tree51ace2ecccf1b280e6a24ad1e725f7897b06ce08
parentde976b5e75878b17c6342e05a14548999a38078e (diff)
fink 2.0 (11jun07)
git-svn-id: svn://tug.org/texlive/trunk@4464 c570f23f-e606-0410-a88d-b1316a301751
-rwxr-xr-xBuild/tools/tpm-ctan-check2
-rw-r--r--Master/texmf-dist/doc/latex/fink/NEWS40
-rw-r--r--Master/texmf-dist/doc/latex/fink/README25
-rw-r--r--Master/texmf-dist/doc/latex/fink/fink.el (renamed from Master/texmf-dist/source/latex/fink/fink.el)21
-rw-r--r--Master/texmf-dist/doc/latex/fink/fink.pdfbin0 -> 64650 bytes
-rw-r--r--Master/texmf-dist/source/latex/fink/fink.dtx300
-rw-r--r--Master/texmf-dist/source/latex/fink/fink.ins9
-rw-r--r--Master/texmf-dist/tex/latex/fink/fink.sty105
-rw-r--r--Master/texmf-dist/tpm/fink.tpm14
-rw-r--r--Master/texmf/lists/fink4
10 files changed, 289 insertions, 231 deletions
diff --git a/Build/tools/tpm-ctan-check b/Build/tools/tpm-ctan-check
index b7f19acd3f9..b24e5b22985 100755
--- a/Build/tools/tpm-ctan-check
+++ b/Build/tools/tpm-ctan-check
@@ -45,7 +45,7 @@ my @WorkingTPM = qw(
examdesign examplep exercise expl3 expressg extarrows exteps
extpfeil extract extsizes
faktor fancyhdr fancynum fancyref fancytooltips fax featpost
- filecontents fixme
+ filecontents fink fixme
flagderiv flippdf float floatflt floatrow flowfram fltpoint
fmtcount fncychap foekfont fontch fontspec footbib forloop formular
fourier fouriernc
diff --git a/Master/texmf-dist/doc/latex/fink/NEWS b/Master/texmf-dist/doc/latex/fink/NEWS
new file mode 100644
index 00000000000..38272faf78b
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/fink/NEWS
@@ -0,0 +1,40 @@
+ WHAT'S NEW IN FINK
+
+
+Copyright (C) 2000, 2001, 2002, 2007 Didier Verna
+
+This file is part of FiNK.
+
+FiNK may be distributed and/or modified under the
+conditions of the LaTeX Project Public License, either version 1.1
+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.1 or later is part of all distributions of LaTeX
+version 1999/06/01 or later.
+
+FiNK consists of the files listed in the file `README'.
+
+
+* Version 2.0
+=============
+** New macros \finkdir, \finkbase, \finkext and \finkpath
+providing the current file's name components, suggested by Alain Schremmer
+** New options maindir and mainext
+for tweaking the main file's name components
+
+* Version 1.2
+=============
+** Fixed conflict with \includegraphics
+reported by Jim Crumley
+
+* Version 1.1
+=============
+** Fixed missing 3rd arg to \PackageError call from \finkextension.
+
+
+^L
+
+Local Variables:
+mode: outline
+End:
diff --git a/Master/texmf-dist/doc/latex/fink/README b/Master/texmf-dist/doc/latex/fink/README
index 20c42a676a9..3b7d808b22a 100644
--- a/Master/texmf-dist/doc/latex/fink/README
+++ b/Master/texmf-dist/doc/latex/fink/README
@@ -1,8 +1,7 @@
This is the README file for FiNK,
the LaTeX2e File Name Keeper
- Copyright (C) 1999-2002 Didier Verna
-
+ Copyright (C) 1999, 2000, 2001, 2002, 2007 Didier Verna
* Copyright
@@ -21,6 +20,7 @@ version 1999/06/01 or later.
FiNK consists of the following files:
- README (this file)
+- NEWS
- fink.ins
- fink.dtx
- fink.el
@@ -31,21 +31,9 @@ FiNK consists of the following files:
This package looks over your shoulder and keeps track of files
\input'ed (the LaTeX way) or \include'ed in your document. You then have a
-permanent access to the name of the file currently being processed through the
-macro \finkfile. FiNK also comes with support for AUC-TeX.
-
-
-* Changes
-=========
-
-** Version 1.2
---------------
-*** Fixed conflict with \includegraphics
-reported by Jim Crumley <crumley@belka.space.umn.edu>
-
-** Version 1.1
---------------
-*** Fixed missing 3rd arg to \PackageError call from \finkextension.
+permanent access to the directory, name and extension of the file currently
+being processed through several macros. FiNK also comes with support for
+AUC-TeX.
* Installation
@@ -66,9 +54,10 @@ a suitable AUC-TeX style directory.
--
Didier Verna, didier@lrde.epita.fr, http://www.lrde.epita.fr/~didier
-EPITA / LRDE, 14-16 rue Voltaire Tel.+33 (1) 53 14 59 47
+EPITA / LRDE, 14-16 rue Voltaire Tel.+33 (1) 44 08 01 85
94276 Le Kremlin-Bicêtre, France Fax.+33 (1) 53 14 59 22 didier@xemacs.org
+
Local Variables:
diff --git a/Master/texmf-dist/source/latex/fink/fink.el b/Master/texmf-dist/doc/latex/fink/fink.el
index 1870f9899fe..7d73e20eb90 100644
--- a/Master/texmf-dist/source/latex/fink/fink.el
+++ b/Master/texmf-dist/doc/latex/fink/fink.el
@@ -1,13 +1,11 @@
;;; fink.el --- AUC-TeX style file for FiNK
-;; Copyright (C) 2000-2002 Didier Verna.
-
-;; PRCS: $Id: fink.el 1.3 Tue, 26 Mar 2002 14:56:02 +0100 didier $
+;; Copyright (C) 2000, 2001, 2002, 2007 Didier Verna.
;; Author: Didier Verna <didier@lrde.epita.fr>
;; Maintainer: Didier Verna <didier@lrde.epita.fr>
;; Created: Wed Mar 29 18:52:37 2000
-;; Last Revision: Tue Mar 26 14:53:50 2002
+;; Last Revision: Mon Jun 11 10:58:36 2007
;; Keywords: tex abbrev data
;; This file is part of FiNK.
@@ -28,22 +26,19 @@
;; Contents management by FCM version 0.1-b2.
-;;; TODO:
-
-
-;;; Change Log:
-
-
;;; Code:
(TeX-add-style-hook "fink"
(function
(lambda ()
(TeX-add-symbols
- '("finkextension" "Extension")
+ '("finkdir")
+ '("finkbase")
+ '("finkext")
'("finkfile")
- )
- )))
+ '("finkpath")
+ ;; Backward Compatibility:
+ '("finkextension" "Extension")))))
diff --git a/Master/texmf-dist/doc/latex/fink/fink.pdf b/Master/texmf-dist/doc/latex/fink/fink.pdf
new file mode 100644
index 00000000000..d0c32367102
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/fink/fink.pdf
Binary files differ
diff --git a/Master/texmf-dist/source/latex/fink/fink.dtx b/Master/texmf-dist/source/latex/fink/fink.dtx
index 04f51e5684c..0c74adfb7e6 100644
--- a/Master/texmf-dist/source/latex/fink/fink.dtx
+++ b/Master/texmf-dist/source/latex/fink/fink.dtx
@@ -1,15 +1,13 @@
% \iffalse -*- mode: LaTeX -*-
%
-% fink.dtx --- Doc file for FiNK
+% fink.dtx --- Doc file for the FiNK package (code and documentation)
%
-% Copyright (C) 1999-2001 Didier Verna.
+% Copyright (C) 1999, 2000, 2001, 2002, 2007 Didier Verna.
%
-% PRCS: $Id: fink.dtx 1.21 Wed, 03 Apr 2002 12:51:24 +0200 didier $
-%
-% Author: Didier Verna <didier@epita.fr>
-% Maintainer: Didier Verna <didier@epita.fr>
+% Author: Didier Verna <didier@lrde.epita.fr>
+% Maintainer: Didier Verna <didier@lrde.epita.fr>
% Created: Thu Sep 23 18:23:48 1999
-% Last Revision: Mon Mar 26 16:35:16 2001
+% Last Revision: Mon Jun 11 10:59:19 2007
%
% This file is part of FiNK.
%
@@ -48,7 +46,7 @@
% \fi
%
% \catcode`\¡=14
-% \CheckSum{106}
+% ^^A\CheckSum{152}
%% \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
@@ -65,12 +63,9 @@
%% Grave accent \` Left brace \{ Vertical bar \|
%% Right brace \} Tilde \~}
%
-% ^^A $Format: "% \\newcommand{\\version}{v$Version$}"$
-% \newcommand{\version}{v1.2}
-% ^^A $Format: "% \\newcommand{\\releasedate}{$ReleaseDate$}"$
-% \newcommand{\releasedate}{2002/04/03}
-% ^^A $Format: "% \\newcommand{\\packagecopyright}{$LaTeXCopyright$}"$
-% \newcommand{\packagecopyright}{Copyright \copyright{} 1999--2002 Didier Verna}
+% \newcommand{\version}{2.0}
+% \newcommand{\releasedate}{2007/06/11}
+% \newcommand{\packagecopyright}{Copyright \copyright{} 1999, 2000, 2001, 2002, 2007 Didier Verna}
% \newcommand{\auctex}{AUC-\TeX}
% \MakeShortVerb{\|}
% \date{\today}
@@ -85,50 +80,53 @@
% \section{Description}
% This package is a real fink indeed: it looks over your shoulder and keeps
% track of files |\input|'ed (the \LaTeX{} way) or |\include|'ed in your
-% document. You then have a permanent access to the name of the file currently
-% being processed through the macro |\finkfile|. Dis packache fas orichinally
-% a hack dat I used somefere elss, but since it might be of a cheneral
-% interest, I'fe decided to make it a separate fink\ldots\par
+% document. You then have a permanent access to the directory, name and
+% extension of the file currently being processed through several macros. Dis
+% packache fas orichinally a hack dat I used somefere elss, but since it might
+% be off a cheneral interest, I'fe decided to make it a separate
+% fink\ldots\par
% The \fink{} package is \packagecopyright{}, and distributed under the terms
% of the LPPL license.
%
% \section{User Interface}
% To use the package, simply say |\usepackage[|\meta{options}|]{fink}| in the
-% preamble of your document. This will do everything for you. Now,
+% preamble of your document. This will do everything for you. Available
+% options will be described when appropriate.
%
-% \subsection{Available Options}
-% \DescribeEnv{tex}\DescribeEnv{ltx}
-% Because there's no way \TeX{} can give you back the extension of the main
-% file being processed, it is not possible to determine it automatically if
-% it's not just |tex|. To cope with this problem, these two options are
-% provided in order for you to specify the initial file's extension. For
-% instance, if you're processing a file named |foo.ltx|, you would say
-% |\usepackage[ltx]{fink}| in the preamble of your document. By default, the
-% |tex| extension is assumed.
+% \subsection{Retrieving the current file's name components}
+% \begin{macro}{\finkdir}
+% \begin{macro}{\finkbase}
+% \begin{macro}{\finkext}
+% The file currently being processed is described by the macros
+% |\finkdir|, |\finkbase| and |\finkext| which expand (as you may have
+% guessed) to the directory, base name (sans extension), and extension
+% of the file.
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \begin{macro}{\finkfile}
+% \begin{macro}{\finkpath}
+% Additionally, the macro |\finkfile| is defined to be
+% |\finkbase|.|\finkext| (as in previous versions), and the macro
+% |\finkpath| (new in version 2.0) is defined to be |\finkdir\finkfile|.
+% Feel free to use these macros in your sources.
+% \end{macro}
+% \end{macro}
%
-% \subsection{Available Macros}
-% \DescribeMacro{\finkextension}
-% This macro is another way of specifying the main file's extension. It takes
-% one argument, the extension of your main file. This can be useful if you
-% happen to process a file with a rilly rilly weird extension, or without any
-% extension at all. However, be cautious: if you're using this macro instead
-% of one of the options, \textbf{you must give the dot explicitly}. For
-% instance, to process a file named |foo.doh|, say this:
+% \subsection{Main file's name components}
+% \begin{macro}{maindir}
+% \begin{macro}{mainext}
+% Because there's no way \TeX{} can give you back information about the
+% file being processed (apart from its base name), \fink{} provides the
+% options |maindir| (defaults to |./|) and |mainext| (defaults to |tex|)
+% for changing the directory and the extension of the main source file.
+% For instance, suppose your source file is in |src/foo.ltx| and you are
+% compiling in |pdf/|. You can then use the package as follows:
% \begin{verbatim}
-% \usepackage{fink}
-% \finkextension{.doh}
+% \usepackage[maindir=../src,mainext=ltx]{fink}
% \end{verbatim}
-% Similarly, just say |\finkextension{}| for files without any extension.
-% This macro can only be used once, in the preamble of your document. If you
-% have to use it, do so just after the package inclusion, otherwise you might
-% get a wrong filename for a while.\par
-% \DescribeMacro{\finkfile}
-% The name of the file currently being processed is kept in the |\finkfile|
-% macro. Feel free to use it in your sources. Also, remember that this macro
-% might expand to something wrong from time to time, when files are included
-% with the \TeX{} (not \LaTeX) primitive. \fink{} won't notice the inclusion
-% of these files. See the ``Caveat'' section below for more information on
-% this problem.
+% \end{macro}
+% \end{macro}
%
% \section{\auctex{} support}
% \auctex{} is a powerful major mode for editing \TeX{} documents in
@@ -141,18 +139,22 @@
% more information on this.
%
% \section{Caveat}
-% As said before, \fink{} cannot follow files included with the \TeX{}
-% |\input| primitive. That's because \TeX{} has a very insensible way of
-% defining primitives whose argument parsing syntax is not available for
-% macros. As a consequence, it's almost impossible to redefine the |\input|
-% primitive without breaking its syntax (one would have to parse the
-% characters one by one, and I'm not ready to do so\ldots).
+% \fink{} cannot follow files included with the \TeX{} |\input| primitive.
+% That's because \TeX{} has a very insensible way of defining primitives whose
+% argument parsing syntax is not available for macros. As a consequence, it's
+% almost impossible to redefine the |\input| primitive without breaking its
+% syntax (one would have to parse the characters one by one, and I'm not ready
+% to do so\ldots). \fink{} currently does not follow auxiliary files either.
%
% \section{Changes}
% \begin{itemize}
-% \item[v1.2] Fixed conflict with |\includegraphics|,\\
-% reported by Jim Crumley |<crumley@belka.space.umn.edu>|
-% \item[v1.1] Fixed missing 3rd arg to |\PackageError| call from |\finkextension|
+% \item[v2.0] New macros |\finkdir|, |\finkbase|, |\finkext| and |\finkpath|
+% suggested by Alain Schremmer\\
+% New options |mainext| and |maindir|, use |kvoptions| for options
+% management
+% \item[v1.2] Fixed conflict with |\includegraphics|, reported by Jim Crumley
+% \item[v1.1] Fixed missing 3rd arg to |\PackageError| call from
+% |\finkextension|
% \end{itemize}
%
% \StopEventually{\par Well, I think that's it. Enjoy using \fink{}!
@@ -161,124 +163,140 @@
% \section{The Code}
% \begin{macrocode}
\NeedsTeXFormat{LaTeX2e}
-¡ $Format: "\\ProvidesPackage{fink}[$ReleaseDate$ v$Version$"$
-\ProvidesPackage{fink}[2002/04/03 v1.2
+\ProvidesPackage{fink}[2007/06/11 2.0
Keep track of the current filename]
-% \end{macrocode}
-% \subsection{Filename macros}
-% \begin{macro}{\finkfile}
-% \begin{macro}{\finkextentsion}
-% Macros for dealing with the name of the main file:
-% ^^A \changes{v1.1}{2000/12/20}{Fix missing 3rd arg in call to
-% ^^A `PackageError}
-% \end{macro}
-% \end{macro}
-% \begin{macrocode}
-\newcommand\finkfile{}
-\def\fink@extension#1{\xdef\finkfile{\jobname#1}}
-\newcommand\finkextension[1]{
- \fink@extension{#1}
- \PackageInfo{FiNK}{main filename switched to `\finkfile'}
- \renewcommand\finkextension[1]{
- \PackageError{FiNK}{\protect\finkextension\space can only be used once}{%
- You seem to have called \protect\finkextension\space twice.\MessageBreak
- Type X to quit, remove spurious call(s) and rerun LaTeX.}}}
-\@onlypreamble\finkextension
+\RequirePackage{kvoptions}
+\SetupKeyvalOptions{family=fnk,prefix=fnk@}
% \end{macrocode}
-% \subsection{Options processing}
-% \DescribeEnv{tex}
-% \DescribeEnv{ltx}
-% These options define common extensions:
+%
+% \subsection{Main file initial settings}
+% \DescribeEnv{maindir}
+% \DescribeEnv{mainext}
% \begin{macrocode}
-\DeclareOption{tex}{\fink@extension{.tex}}
-\DeclareOption{ltx}{\fink@extension{.ltx}}
+\DeclareStringOption[\@currdir]{maindir}
+\DeclareStringOption[tex]{mainext}
+
% \end{macrocode}
-% Delaying the following message permits to emit it somewhat closer to a
-% similar one which might be generated by a call to |\finkextension|
-% afterwards.
+% The following is for backward compatibility only (not documented anymore).
+% It provides support for the old |tex| and |ltx| options (still functionnal),
+% and for the |\finkextension| macro. However, this macro is now defined to
+% trigger an error, begging the user to use the new option instead.
% \begin{macrocode}
-\AtEndOfPackage{\PackageInfo{FiNK}{main filename is `\finkfile'}}
+\newcommand*\@fink@mainext[1]{\setkeys{fnk}{mainext={#1}}}
+\newcommand*\fink@mainext{%
+ \expandafter\@fink@mainext\expandafter{\CurrentOption}}
+\DeclareVoidOption{tex}{\fink@mainext}
+\DeclareVoidOption{ltx}{\fink@mainext}
+
+\newcommand*\finkextension[1]{%
+ \PackageError{FiNK}{%
+ \protect\finkextension\space shouldn't be used anymore.\MessageBreak
+ Please use the `mainext' package option instead.}{%
+ No big deal right ?\MessageBreak
+ Type X to quit and modify your source.}}
+\@onlypreamble\finkextension
+
+\ProcessKeyvalOptions*
% \end{macrocode}
-% Let's process the options. By default, the main file's extension is `tex'.
+%
+% \subsection{File's name components macros}
+% \begin{macro}{\finkdir}
+% \begin{macro}{\finkbase}
+% \begin{macro}{\finkext}
+% \begin{macro}{\finkfile}
+% \begin{macro}{\finkpath}
+% We declare the user-level macros here. |\fink@file| is used to
+% compute file names, possibly with no extension.
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
% \begin{macrocode}
-\ExecuteOptions{tex}
-\ProcessOptions*
+\newcommand*\finkdir{\fnk@maindir}
+\newcommand*\finkbase{\jobname}
+\newcommand*\finkext{\fnk@mainext}
+
+\newcommand*\finkfile{}
+\newcommand*\fink@file[2]{#1\ifx\\#2\\\else.#2\fi}
+\xdef\finkfile{\fink@file{\jobname}{\fnk@mainext}}
+
+\newcommand*\finkpath{}
+\xdef\finkpath{\finkdir\finkfile}
+
+\PackageInfo{FiNK}{main file set to "\finkpath"}
% \end{macrocode}
+%
% \subsection{Commands overriding}
-% \begin{macro}{\@finkfile}
-% \begin{macro}{\fink@setnewfile}
-% This macro prepares the name of next file to be input, and ensures we
-% get the proper extension in all cases:
-% \end{macro}
-% ^^A \changes{v1.2}{2002/03/26}{Fix conflict with |\includegraphics|
-% ^^A reported by |Jim Crumley <crumley@belka.space.umn.edu>|}
-% As of version 1.2, this macro performs in a group of its own. This fixes a
-% problem that appeared when using |\includegraphics| with a filename with an
-% explicit extension. |\includegraphics| calls itself |\filename@parse|, so it
-% is important that the same call in |\fink@setnewfile| only have a local
-% effect, just the time to compute the new value of |\@finkfile|.
+% \begin{macro}{\fink@prepare}
+% This macro prepares the name of next file to be input. We arrange to setup
+% a complete filename, including directory and extension.
+%
+% As of version 1.2, this macro performs in a group of its own. This fixes a
+% problem that appeared when using |\includegraphics| with a filename with an
+% explicit extension. |\includegraphics| calls |\filename@parse| itself, so
+% it is important that the same call in |\fink@prepare| only have a local
+% effect, just the time to compute the new values for the |\fink@next*|
+% macros.
% \end{macro}
% \begin{macrocode}
-\def\fink@setnewfile#1{%
+\newcommand*\fink@prepare[1]{%
{\filename@parse{#1}%
- \xdef\@finkfile{%
- \filename@base.\ifx\filename@ext\relax tex\else\filename@ext\fi}}}
+ \xdef\fink@nextdir{%
+ \ifx\filename@area\@empty%
+ \fnk@maindir%
+ \else%
+ \fnk@maindir\filename@area%
+ \fi}%
+ \xdef\fink@nextbase{\filename@base}%
+ \xdef\fink@nextext{\ifx\filename@ext\relax tex\else\filename@ext\fi}%
+ \xdef\fink@nextfile{\fink@file{\fink@nextbase}{\fink@nextext}}%
+ \xdef\fink@nextpath{\fink@nextdir\fink@nextfile}}}
% \end{macrocode}
% \begin{macro}{\fink@input}
% \begin{macro}{\fink@restore}
% These macros are defined for a convenient use of |\expandafter|. They
% save and restore the current filename. Remember that |\@@input| is
-% \LaTeX's redefinition of the \TeX{} primitive.
+% \LaTeX's redefinition of the \TeX{} input primitive.
% \end{macro}
% \end{macro}
% \begin{macrocode}
-\def\fink@input{%
- \xdef\finkfile{\@finkfile}%
+\newcommand*\fink@input{%
+ \xdef\finkdir{\fink@nextdir}%
+ \xdef\finkbase{\fink@nextbase}%
+ \xdef\finkext{\fink@nextext}%
+ \xdef\finkfile{\fink@nextfile}%
+ \xdef\finkpath{\fink@nextpath}%
\@@input\@filef@und}
-\def\fink@restore{\xdef\finkfile}
-
-% \end{macrocode}
-% \begin{macro}{\IfFileExists}
-% The following macro is redefined only to let \fink{} update its filename.
-% \end{macro}
-% \begin{macrocode}
-\long\def\IfFileExists#1#2#3{%
- \openin\@inputcheck#1 %
- \ifeof\@inputcheck
- \ifx\input@path\@undefined
- \def\reserved@a{#3}%
- \else
- \def\reserved@a{\@iffileonpath{#1}{#2}{#3}}%
- \fi
- \else
- \closein\@inputcheck
- \edef\@filef@und{#1 }%
- \fink@setnewfile{#1}%
- \def\reserved@a{#2}%
- \fi
- \reserved@a}
+\newcommand*\fink@restore[1]{%
+ {\filename@parse{#1}%
+ \xdef\finkdir{\filename@area}%
+ \xdef\finkbase{\filename@base}%
+ \xdef\finkext{\filename@ext}%
+ \xdef\finkfile{\fink@file{\finkbase}{\finkext}}
+ \xdef\finkpath{\finkdir\finkfile}}}
% \end{macrocode}
+% Note: in earlier versions, we redefined |\IfFileExists| to prepare the
+% name of the next file, but this is bad because it can be used outside of
+% \fink{}'s scope. We also redefined |\@input|, but neither |\include| nor
+% |\input| use it.
% \begin{macro}{\InputIfFileExists}
-% And finally, let's redefine the \LaTeX{} file inclusion macros:
+% \LaTeX's |\input| and |\include| commands use |\InputIfFileExists|, so
+% let's redefine it here:
% \end{macro}
% \begin{macrocode}
\long\def\InputIfFileExists#1#2{%
\IfFileExists{#1}{%
#2\@addtofilelist{#1}%
+ \fink@prepare{#1}%
\expandafter\fink@input%
- \expandafter\fink@restore\expandafter{\finkfile}}}
-\def\@input#1{%
- \IfFileExists{#1}{%
- \expandafter\fink@input%
- \expandafter\fink@restore\expandafter{\finkfile}}{%
- %% else
- \GenericWarning{}{no file #1.}}}
+ \expandafter\fink@restore\expandafter{\finkpath}}}
% \end{macrocode}
%
diff --git a/Master/texmf-dist/source/latex/fink/fink.ins b/Master/texmf-dist/source/latex/fink/fink.ins
index dd30c06b7a9..2380ab35f74 100644
--- a/Master/texmf-dist/source/latex/fink/fink.ins
+++ b/Master/texmf-dist/source/latex/fink/fink.ins
@@ -1,13 +1,11 @@
%%% fink.ins --- Installation file for FiNK -*- mode: LaTeX -*-
-%% Copyright (C) 1999-2002 Didier Verna.
-
-%% PRCS: $Id: fink.ins 1.12 Tue, 26 Mar 2002 14:56:02 +0100 didier $
+%% Copyright (C) 1999, 2000, 2001, 2002, 2007 Didier Verna.
%% Author: Didier Verna <didier@lrde.epita.fr>
%% Maintainer: Didier Verna <didier@lrde.epita.fr>
%% Created: Thu Sep 23 17:47:57 1999
-%% Last Revision: Tue Mar 26 14:54:39 2002
+%% Last Revision: Mon Jun 4 12:55:27 2007
%% This file is part of FiNK.
@@ -35,8 +33,7 @@
\preamble
^^J^^J
-%% $Format: "$TextCopyright$^^J"$
-Copyright (C) 1999-2002 Didier Verna^^J
+Copyright (C) 1999, 2000, 2001, 2002, 2007 Didier Verna^^J
This file is part of FiNK.^^J
FiNK may be distributed and/or modified under the
conditions of the LaTeX Project Public License, either version 1.1
diff --git a/Master/texmf-dist/tex/latex/fink/fink.sty b/Master/texmf-dist/tex/latex/fink/fink.sty
index fc68b5da015..b628b16d57d 100644
--- a/Master/texmf-dist/tex/latex/fink/fink.sty
+++ b/Master/texmf-dist/tex/latex/fink/fink.sty
@@ -8,7 +8,7 @@
%%
-%% Copyright (C) 1999-2002 Didier Verna
+%% Copyright (C) 1999, 2000, 2001, 2002, 2007 Didier Verna
%% This file is part of FiNK.
@@ -38,65 +38,78 @@
%% Grave accent \` Left brace \{ Vertical bar \|
%% Right brace \} Tilde \~}
\NeedsTeXFormat{LaTeX2e}
-
-\ProvidesPackage{fink}[2002/04/03 v1.2
+\ProvidesPackage{fink}[2007/06/11 2.0
Keep track of the current filename]
-\newcommand\finkfile{}
-\def\fink@extension#1{\xdef\finkfile{\jobname#1}}
-\newcommand\finkextension[1]{
- \fink@extension{#1}
- \PackageInfo{FiNK}{main filename switched to `\finkfile'}
- \renewcommand\finkextension[1]{
- \PackageError{FiNK}{\protect\finkextension\space can only be used once}{%
- You seem to have called \protect\finkextension\space twice.\MessageBreak
- Type X to quit, remove spurious call(s) and rerun LaTeX.}}}
+\RequirePackage{kvoptions}
+\SetupKeyvalOptions{family=fnk,prefix=fnk@}
+
+\DeclareStringOption[\@currdir]{maindir}
+\DeclareStringOption[tex]{mainext}
+
+\newcommand*\@fink@mainext[1]{\setkeys{fnk}{mainext={#1}}}
+\newcommand*\fink@mainext{%
+ \expandafter\@fink@mainext\expandafter{\CurrentOption}}
+\DeclareVoidOption{tex}{\fink@mainext}
+\DeclareVoidOption{ltx}{\fink@mainext}
+
+\newcommand*\finkextension[1]{%
+ \PackageError{FiNK}{%
+ \protect\finkextension\space shouldn't be used anymore.\MessageBreak
+ Please use the `mainext' package option instead.}{%
+ No big deal right ?\MessageBreak
+ Type X to quit and modify your source.}}
\@onlypreamble\finkextension
-\DeclareOption{tex}{\fink@extension{.tex}}
-\DeclareOption{ltx}{\fink@extension{.ltx}}
-\AtEndOfPackage{\PackageInfo{FiNK}{main filename is `\finkfile'}}
+\ProcessKeyvalOptions*
+
+\newcommand*\finkdir{\fnk@maindir}
+\newcommand*\finkbase{\jobname}
+\newcommand*\finkext{\fnk@mainext}
-\ExecuteOptions{tex}
-\ProcessOptions*
+\newcommand*\finkfile{}
+\newcommand*\fink@file[2]{#1\ifx\\#2\\\else.#2\fi}
+\xdef\finkfile{\fink@file{\jobname}{\fnk@mainext}}
-\def\fink@setnewfile#1{%
+\newcommand*\finkpath{}
+\xdef\finkpath{\finkdir\finkfile}
+
+\PackageInfo{FiNK}{main file set to "\finkpath"}
+
+\newcommand*\fink@prepare[1]{%
{\filename@parse{#1}%
- \xdef\@finkfile{%
- \filename@base.\ifx\filename@ext\relax tex\else\filename@ext\fi}}}
+ \xdef\fink@nextdir{%
+ \ifx\filename@area\@empty%
+ \fnk@maindir%
+ \else%
+ \fnk@maindir\filename@area%
+ \fi}%
+ \xdef\fink@nextbase{\filename@base}%
+ \xdef\fink@nextext{\ifx\filename@ext\relax tex\else\filename@ext\fi}%
+ \xdef\fink@nextfile{\fink@file{\fink@nextbase}{\fink@nextext}}%
+ \xdef\fink@nextpath{\fink@nextdir\fink@nextfile}}}
-\def\fink@input{%
- \xdef\finkfile{\@finkfile}%
+\newcommand*\fink@input{%
+ \xdef\finkdir{\fink@nextdir}%
+ \xdef\finkbase{\fink@nextbase}%
+ \xdef\finkext{\fink@nextext}%
+ \xdef\finkfile{\fink@nextfile}%
+ \xdef\finkpath{\fink@nextpath}%
\@@input\@filef@und}
-\def\fink@restore{\xdef\finkfile}
-
-\long\def\IfFileExists#1#2#3{%
- \openin\@inputcheck#1 %
- \ifeof\@inputcheck
- \ifx\input@path\@undefined
- \def\reserved@a{#3}%
- \else
- \def\reserved@a{\@iffileonpath{#1}{#2}{#3}}%
- \fi
- \else
- \closein\@inputcheck
- \edef\@filef@und{#1 }%
- \fink@setnewfile{#1}%
- \def\reserved@a{#2}%
- \fi
- \reserved@a}
+\newcommand*\fink@restore[1]{%
+ {\filename@parse{#1}%
+ \xdef\finkdir{\filename@area}%
+ \xdef\finkbase{\filename@base}%
+ \xdef\finkext{\filename@ext}%
+ \xdef\finkfile{\fink@file{\finkbase}{\finkext}}
+ \xdef\finkpath{\finkdir\finkfile}}}
\long\def\InputIfFileExists#1#2{%
\IfFileExists{#1}{%
#2\@addtofilelist{#1}%
+ \fink@prepare{#1}%
\expandafter\fink@input%
- \expandafter\fink@restore\expandafter{\finkfile}}}
-\def\@input#1{%
- \IfFileExists{#1}{%
- \expandafter\fink@input%
- \expandafter\fink@restore\expandafter{\finkfile}}{%
- %% else
- \GenericWarning{}{no file #1.}}}
+ \expandafter\fink@restore\expandafter{\finkpath}}}
\endinput
%%
diff --git a/Master/texmf-dist/tpm/fink.tpm b/Master/texmf-dist/tpm/fink.tpm
index d741d3560e1..f45ddb10f4c 100644
--- a/Master/texmf-dist/tpm/fink.tpm
+++ b/Master/texmf-dist/tpm/fink.tpm
@@ -3,7 +3,7 @@
<rdf:Description about="http://texlive.dante.de/texlive/Package/fink.zip">
<TPM:Name>fink</TPM:Name>
<TPM:Type>Package</TPM:Type>
- <TPM:Date>2006/01/11 23:53:19</TPM:Date>
+ <TPM:Date>2007/06/11 08:26:00</TPM:Date>
<TPM:Version>1.2</TPM:Version>
<TPM:Creator>rahtz</TPM:Creator>
<TPM:Title>The LaTeX2e File Name Keeper.</TPM:Title>
@@ -19,14 +19,18 @@ with support for AUC-TeX.
<TPM:Size>20819</TPM:Size>
<TPM:License></TPM:License>
<TPM:Build/>
- <TPM:RunFiles size="4659">
+ <TPM:RunFiles size="5210">
texmf-dist/tex/latex/fink/fink.sty
texmf-dist/tpm/fink.tpm
</TPM:RunFiles>
- <TPM:DocFiles size="1839">texmf-dist/doc/latex/fink/README</TPM:DocFiles>
- <TPM:SourceFiles size="14321">
+ <TPM:DocFiles size="68482">
+texmf-dist/doc/latex/fink/NEWS
+texmf-dist/doc/latex/fink/README
+texmf-dist/doc/latex/fink/fink.el
+texmf-dist/doc/latex/fink/fink.pdf
+ </TPM:DocFiles>
+ <TPM:SourceFiles size="13367">
texmf-dist/source/latex/fink/fink.dtx
-texmf-dist/source/latex/fink/fink.el
texmf-dist/source/latex/fink/fink.ins
</TPM:SourceFiles>
<TPM:Provides>Package/fink</TPM:Provides>
diff --git a/Master/texmf/lists/fink b/Master/texmf/lists/fink
index a27814f6f98..0c93f90bb1e 100644
--- a/Master/texmf/lists/fink
+++ b/Master/texmf/lists/fink
@@ -1,6 +1,8 @@
+texmf-dist/doc/latex/fink/NEWS
texmf-dist/doc/latex/fink/README
+texmf-dist/doc/latex/fink/fink.el
+texmf-dist/doc/latex/fink/fink.pdf
texmf-dist/source/latex/fink/fink.dtx
-texmf-dist/source/latex/fink/fink.el
texmf-dist/source/latex/fink/fink.ins
texmf-dist/tex/latex/fink/fink.sty
texmf-dist/tpm/fink.tpm