summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/doc/latex/nameauth/compat.tex
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/doc/latex/nameauth/compat.tex')
-rw-r--r--Master/texmf-dist/doc/latex/nameauth/compat.tex107
1 files changed, 81 insertions, 26 deletions
diff --git a/Master/texmf-dist/doc/latex/nameauth/compat.tex b/Master/texmf-dist/doc/latex/nameauth/compat.tex
index 0edc05be0bd..783e0e02484 100644
--- a/Master/texmf-dist/doc/latex/nameauth/compat.tex
+++ b/Master/texmf-dist/doc/latex/nameauth/compat.tex
@@ -8,7 +8,7 @@
%%
%% This is a generated file.
%%
-%% Copyright (C) 2023 by Charles P. Schaum <charles[dot]schaum@comcast.net>
+%% Copyright (C) 2024 by Charles P. Schaum <charles[dot]schaum@comcast.net>
%%
%% This file may be distributed and/or modified under the conditions of
%% the LaTeX Project Public License, either version 1.3 of this license
@@ -21,40 +21,95 @@
%% 2005/12/01 or later.
%%
-% This snippet assists backward compatibility for older
+% This is not a standalone document.
+% Use this file only in the document preamble.
+
+\makeatletter
+
+% Do not include the rest of this file
+% unless we are in a document preamble.
+
+\ifx\@onlypreamble\@notprerr\else
+
+% Check against the latex version date. Create a macro
+% if the date is at least 2018/10/05 because that is
+% when Unicode processing changed for the better.
+
+ \@ifl@t@r\fmtversion{2018/10/05}{\def\nameauthltx{}}{}
+
+% Here we check for 2018/04/30 because that is when xparse
+% added the ! modifier.
+
+ \@ifl@t@r\fmtversion{2018/04/30}{\def\nameauthxp{}}{}
+
+% Here we assist backward compatibility for older
% distributions of LaTeX and compatibility for multiple
-% LaTeX engines. It is not a standalone document.
-%
-\IfFileExists{iftex.sty}{\usepackage{iftex}}{}
-\unless\ifdefined\RequireTUTeX
- \usepackage{ifxetex}
- \usepackage{ifluatex}
- \usepackage{ifpdf}
-\fi
+% LaTeX engines.
+
+% If we want to use TikZ, this flag will help us.
+
+ \newif\ifDoTikZ
-\ifxetex
- \usepackage{fontspec}
- \usepackage{polyglossia}
- \setdefaultlanguage{american}
-\else
- \ifluatex
- \ifpdf
- \usepackage{fontspec}
- \usepackage{polyglossia}
- \setdefaultlanguage{american}
+% If we couch this statement in a conditional, we avoid
+% potential errors in older versions.
+
+ \IfFileExists{iftex.sty}{\usepackage{iftex}}{}
+
+% The presence of \RequireTUTeX means that these older
+% packages are not needed (thanks to iftex). Otherwise
+% we are using an older version and need these packages.
+
+ \unless\ifdefined\RequireTUTeX
+ \usepackage{ifxetex}
+ \usepackage{ifluatex}
+ \usepackage{ifpdf}
+ \fi
+
+% Instead of worrying about older or newer changes, we
+% ensure consistency when the LaTeX engine changes.
+% The goal is to get the same ``lmodern'' look.
+% Users will need to change language and font options
+% for their own needs.
+
+ \ifxetex
+ \usepackage{fontspec}
+ \usepackage{polyglossia}
+ \setdefaultlanguage{american}
+ \DoTikZtrue % Loading TikZ will work (pdf)
+ \else
+ \ifluatex
+ \ifpdf
+ \usepackage{fontspec}
+ \usepackage{polyglossia}
+ \setdefaultlanguage{american}
+ \DoTikZtrue % Loading TikZ will work (pdf)
+ \else
+ \IfFileExists{utf8-2018.def}{}
+ {\usepackage[utf8]{inputenc}}
+ \usepackage[TS1,T1]{fontenc}
+ \usepackage[american]{babel}
+ \usepackage{lmodern}
+ % Using dvi-based workflows does not
+ % work well with TikZ; pstricks instead
+ \fi
\else
\IfFileExists{utf8-2018.def}{}
{\usepackage[utf8]{inputenc}}
\usepackage[TS1,T1]{fontenc}
\usepackage[american]{babel}
\usepackage{lmodern}
+ \ifpdf
+ \usepackage{tikz}
+ \DoTikZtrue % Loading TikZ will work (pdf)
+ \fi
+ % Using dvi-based workflows does not
+ % work well with TikZ; pstricks instead
\fi
- \else
- \IfFileExists{utf8-2018.def}{}
- {\usepackage[utf8]{inputenc}}
- \usepackage[TS1,T1]{fontenc}
- \usepackage[american]{babel}
- \usepackage{lmodern}
\fi
+
+% Here one would load TikZ if needed
+% \ifDoTikZ \usepackage{tikz} \fi
+
\fi
+\makeatother