summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/base/texsys.cfg
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/tex/latex/base/texsys.cfg')
-rw-r--r--Master/texmf-dist/tex/latex/base/texsys.cfg204
1 files changed, 204 insertions, 0 deletions
diff --git a/Master/texmf-dist/tex/latex/base/texsys.cfg b/Master/texmf-dist/tex/latex/base/texsys.cfg
new file mode 100644
index 00000000000..8220bc5bae0
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/base/texsys.cfg
@@ -0,0 +1,204 @@
+% \subsection{texsys.cfg}
+%
+% This file contains the site specific definitions of the four macros\\
+% |\@currdir|, |\input@path|, |\filename@parse| and |\@TeXversion|.
+%
+% As distributed it only contains comments, however this `empty'
+% file will work on many systems because of the automatic tests built
+% into |ltdirchk.dtx|. You \emph{are} allowed to edit this file to add
+% definitions of these macros appropriate to your system.
+%
+%
+% The macros that must be defined are:
+%
+% \DescribeMacro{\@currdir}
+% |\@currdir|\meta{filename}\meta{space} should expand to a form of the
+% filename that uniquely refers to the `current directory' if this is
+% possible. (The expansion should also end with a space.) on UNIX,
+% this is |\def\@currdir{./}|. For more exotic operating systems you may
+% want to make |\@currdir| a macro with arguments delimited by |.|
+% and/or \meta{space}. If the operating system has no concept of
+% directory structure, this macro should be defined to be empty.
+%
+%
+% \DescribeMacro{\input@path}
+% If the primitive |\openin| searches the same directories as the
+% primitive |\input|, then it is possible to tell (using |\ifeof|)
+% whether a file exists before trying to input it. For systems like
+% this, |\input@path| should be left undefined.
+%
+% If |\openin| does not `follow' |\input| then |\input@path| must be
+% defined to be a list of directories to search for input files. The
+% format for each directory is as for |\@currdir|, normally just a
+% prefix is required, but it may be a macro with space-delimited
+% argument. That is, if \meta{dir} is an entry in the input path,
+% \TeX will try to load the expansion of
+%
+% \meta{dir}\meta{filename}\meta{space}
+%
+% So either \meta{dir} should be defined as a macro with argument
+% delimited by space, or it should just expand to a directory name,
+% including the final directory separator, so that it may be
+% concatenated with the \meta{filename}. This means that for UNIX-like
+% syntax, each \meta{dir} should end with a slash, |/|. One exception to
+% this rule is that the input path should \emph{always} contain the
+% empty directory |{}| as this will allow `full pathnames' to be used,
+% and the `current directory' to be searched.
+%
+% |\input@path| should expand to a list of such directories, each in a
+% |{}| group.
+%
+%
+% \DescribeMacro{\filename@parse}
+% After a call of the form: |\filename@parse{|\meta{filename}|}|, the
+% three macros |\filename@area|,|\filename@base|,|\filename@ext| should
+% be defined to be the `area' (or directory), basename and
+% extension respectively. If there was no extension specified in
+% \meta{filename}, |\filename@ext| should be |\let| to |\relax| (so this
+% case may be tested with |\@ifundefined{filename@ext}| and, perhaps a
+% default extension substituted).
+%
+% Normally one would not need to define this macro in |texsys.cfg| as
+% the automatic tests can supply parsers that work with UNIX and VMS
+% syntax, as well as a basic parser that willcover many other cases.
+% However some operating systems may need a `hand produced' parser
+% in which case it should be defined in this file.
+%
+% The UNIX parser also works for most MSDOS \TeX\ versions.
+% Currently if the UNIX or VMS parser is not used, |\filename@parse| is
+% defined to always return an empty area, and to split the argument into
+% basename and extension at the first `|.|' that occurs in the name.
+% Parsers for other formats may be defined in |texsys.cfg|,
+% in which case they will be used in preference to the default
+% definitions.
+%
+%
+% \DescribeMacro{\@TeXversion}
+% You should not need to set this macro in |texsys.cfg|. \LaTeX\
+% tests to set this automatically. See the comments in the opening
+% section of \texttt{ltdirchk.dtx}.
+%
+%
+% The following sections give examples of definitions which might
+% work on various systems. These are currently mainly untested as I only
+% have access to a few systems, all of which do not need this file as
+% the automatic tests work. All the code is commented out.
+%
+% \subsection{UNIX (web2c)}
+% This implementation does make |\openin| and |\input| look in the same
+% places. Acceptable settings are made by |ltdirchk.dtx|, and so this
+% file may be empty. The definitions below are therefore just for
+% information.
+% \begin{macrocode}
+%\def\@currdir{./}
+%\let\input@path\@undefined
+% \end{macrocode}
+%
+% \subsection{UNIX (other)}
+% Apparently some commercial UNIX implementations have different paths
+% for |\openin| and |\input|. For these one could use definitions like
+% the following (with whatever directories are used at your site):
+% note that the directory names should end with |/|.
+% \begin{macrocode}
+% \def\@currdir{./}
+% \def\input@path{%
+% {/usr/local/lib/tex/inputs/distrib/}%
+% {/usr/local/lib/tex/inputs/contrib/}%
+% {/usr/local/lib/tex/inputs/local/}%
+% }
+% \end{macrocode}
+%
+% \subsection{MSDOS (emtex)}
+% This implementation does make |\openin| and |\input| look in the same
+% places. Acceptable settings are made by |ltdirchk.dtx|, and so this
+% file may be empty. The definitions below are therefore just for
+% information.
+% \begin{macrocode}
+% \def\@currdir{./}
+% \let\input@path\@undefined
+% \end{macrocode}
+%
+% \subsection{MSDOS (other)}
+% Some PC implementations have different paths
+% for |\openin| and |\input|. For these one could use definitions like
+% the following (with whatever directories are used at your site):
+% note that the directory names should end with |/|.
+% This assumes the implementation uses UNIX style |/| as the directory
+% separator.
+% \begin{macrocode}
+% \def\@currdir{./}
+% \def\input@path{%
+% {c:/tex/inputs/distrib/}%
+% {c:/tex/inputs/contrib/}%
+% {c:/tex/inputs/local/}%
+% }
+% \end{macrocode}
+%
+% \subsection{VMS (DECUS \TeX, PD VMS 3.6)}
+% This implementation does make |\openin| and |\input| look in the same
+% places. Acceptable settings are made by |ltdirchk.dtx|, and so this
+% file may be empty. The definitions below are therefore just for
+% information.
+% \begin{macrocode}
+% \def\@currdir{[]}
+% \let\input@path\@undefined
+% \end{macrocode}
+%
+% \subsection{VMS (???)}
+% Some VMS implementations have different paths
+% for |\openin| and |\input|. For these one could use definitions like
+% the following:
+% \begin{macrocode}
+% \def\@currdir{[]}
+% \def\input@path{%
+% {tex_inputs:}%
+% {SOMEDISK:[SOME.TEX.DIRECTORY]}%
+% }
+% \end{macrocode}
+%
+% \subsection{MACINTOSH (OzTeX 1.6)}
+% This implementation does make |\openin| and |\input| look in the same
+% places. Acceptable settings are made by |ltdirchk.dtx|, and so this
+% file may be empty. The definitions below are therefore just for
+% information.
+% \begin{macrocode}
+% \def\@currdir{:}
+% \let\input@path\@undefined
+% \end{macrocode}
+%
+% \subsection{MACINTOSH (other)}
+% Some Macintosh implementations have different paths
+% for |\openin| and |\input|. For these one could use definitions like
+% the following (with whatever folders are used on your machine):
+% note that the directory names should end with |:|, and they should
+% contain {\em no\/} spaces.
+% \begin{macrocode}
+% \def\@currdir{:}
+% \def\input@path{%
+% {Hard-Disk:Applications:TeX:TeX-inputs:}%
+% {Hard-Disk:Applications:TeX:My-inputs:}%
+% }
+% \end{macrocode}
+%
+% \subsection{FAKE EXAMPLE}
+% This example is for an operating system that has filenames of the
+% form |<area>name| For maximum compatability with macro sets,
+% you want |name.ext| to be mapped to |<ext>name|.
+% and |<area>name.ext| to be mapped to |<area.ext>name|.
+% |\input| does this mapping automatically, but |\openin| does not, and
+% does not look in the same places as |\input|.
+% |<>name| is the desired `current directory' syntax.
+%
+% the following code would possibly work:
+% \begin{macrocode}
+% \def\@dir#1#2 {%
+% \@d@r{#1}#2..\@nil}
+% \def\@d@r#1#2.#3.#4\@nil{%
+% <\ifx\@dir#1\@dir\else#1\ifx\@dir#3\@dir\else.\fi\fi#3>#2 }
+%
+% \def\@currdir{\@dir{}}
+% \def\input@path{%
+% {\@dir{area.one}}%
+% {\@dir{area.two}}%
+% }
+% \end{macrocode}