summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/doc/latex/nameauth/compat.tex
blob: 783e0e024844c00d6b7d53b2041cc88b16f37f92 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
%%
%% This is file `compat.tex',
%% generated with the docstrip utility.
%%
%% The original source files were:
%%
%% nameauth.dtx  (with options: `compat')
%% 
%% This is a generated file.
%% 
%% 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
%% or (at your option) any later version.  The latest version of this
%% license is in:
%% 
%%    https://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 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.

% If we want to use TikZ, this flag will help us.

  \newif\ifDoTikZ

% 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
  \fi

% Here one would load TikZ if needed
% \ifDoTikZ \usepackage{tikz} \fi

\fi

\makeatother