TeX-related Compilation Commands for Various TeX Formats and Engines
On the 31th page of the book, Introduction to LaTeX1, Haiyang Liu provides a table to conclude TeX-related compilation commands for various TeX formats and engines:

I ever mentioned this table in my blogs for several times23. So, for the convenience of my future use, Iād like to reproduce it, but in English, in this blog.
Method 1: By LaTeX TikZ
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
\documentclass{article}
\usepackage{multirow,diagbox,hologo}
\usepackage{tikz}
\usetikzlibrary{tikzmark,decorations.pathreplacing,positioning}
\newcommand{\mybox}[1]{\makebox[\widthof{(special parameters)}][c]{#1}}
\begin{document}
\begin{table}
\renewcommand\arraystretch{2}
\caption{Compilation commands for various \TeX\ formats and engines}
\vspace{0.5em}
\begin{tabular}{|c|c|c|c|}
\hline
\diagbox{\TeX\ engine}{Command}{\TeX\ format} & Plain \TeX & \LaTeX & \hologo{ConTeXt} \\ \hline
\TeX/\hologo{eTeX} & \texttt{tex}/\texttt{etex} & & \mybox{}\tikzmarknode{a}{} \\ \hline
\multirow{2}*{\hologo{pdfTeX}} & \texttt{tex} & \texttt{latex} & \mybox{}\tikzmarknode{b}{} \\ \cline{2-4}
& \texttt{pdftex} & \texttt{pdflatex} & \mybox{\texttt{texexec}}\tikzmarknode{c}{}\\ \hline
\hologo{XeTeX} & \texttt{xetex} & \texttt{xelatex} & \mybox{(special parameters)}\\ \hline
\hologo{LuaTeX} & \texttt{luatex} & \texttt{lualatex} & \mybox{\texttt{context}}\tikzmarknode{d}{}\\ \hline
\end{tabular}
\end{table}
\begin{tikzpicture}[remember picture,overlay]
\node (aa) [above right=0.5em and 1em of a] {};
\node (bb) [below right=0.25em and 1em of b] {};
\node (cc) [above right=0.5em and 1em of c] {};
\node (dd) [below right=0.25em and 1em of d] {};
\draw[decorate,decoration={brace},semithick]
(aa) -- node[right=3pt] {Output DVI file} (bb);
\draw[decorate,decoration={brace},semithick]
(cc) -- node[right=3pt] {Output PDF file} (dd);
\end{tikzpicture}
\end{document}

The difficulty making this table lies in how to annotate curly braces and textāāOutput DVI fileā and āOutput PDF fileāābeside the table. My solution refers to the examples4 and5 : firstly use \tikzmarknode to locate a node, and next use tikzpicture environment with options [remember picture,overlay] (both two options are necessary) to annotate. Among which, the curly braces are drawn using the \draw command with options [decorate,decoration={brace},semithick]6 (TikZ packagedecorations.pathreplacing is needed).
Another point should be noted is that, in example4, ++7 is used to position a node having a relative distance from a given node, but seemingly it doesnāt work for the āend nodeā, for example:
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
\documentclass{article}
\usepackage{multirow,diagbox,hologo}
\usepackage{tikz}
\usetikzlibrary{tikzmark,decorations.pathreplacing,positioning}
\newcommand{\mybox}[1]{\makebox[\widthof{(special parameters)}][c]{#1}}
\begin{document}
\begin{table}
\renewcommand\arraystretch{2}
\caption{Compilation commands for various \TeX\ formats and engines}
\vspace{0.5em}
\begin{tabular}{|c|c|c|c|}
\hline
\diagbox{\TeX\ engine}{Command}{\TeX\ format} & Plain \TeX & \LaTeX & \hologo{ConTeXt} \\ \hline
\TeX/\hologo{eTeX} & \texttt{tex}/\texttt{etex} & & \mybox{}\tikzmarknode{a}{} \\ \hline
\multirow{2}*{\hologo{pdfTeX}} & \texttt{tex} & \texttt{latex} & \mybox{}\tikzmarknode{b}{} \\ \cline{2-4}
& \texttt{pdftex} & \texttt{pdflatex} & \mybox{\texttt{texexec}}\tikzmarknode{c}{}\\ \hline
\hologo{XeTeX} & \texttt{xetex} & \texttt{xelatex} & \mybox{(special parameters)}\\ \hline
\hologo{LuaTeX} & \texttt{luatex} & \texttt{lualatex} & \mybox{\texttt{context}}\tikzmarknode{d}{}\\ \hline
\end{tabular}
\end{table}
\begin{tikzpicture}[remember picture,overlay]
\draw[decorate,decoration={brace},semithick]
(a)++(1em,0.5em) -- node[right=3pt] {Output DVI file} (b)++(1em,0.25em);
\draw[decorate,decoration={brace},semithick]
(c)++(1em,0.5em) -- node[right=3pt] {Output PDF file} (d)++(1em,0.25em);
\end{tikzpicture}
\end{document}

I donāt know why and donāt find an available solution, so finally I adopt the above used syntax provided by TikZ package positioning89.
Method 2: By nicematrix package
Another reproduction method is by using functions provided by nicematrix package10.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
\documentclass{article}
\usepackage{nicematrix,hologo}
\begin{document}
\begin{table}
\renewcommand\arraystretch{2}
\caption{Compilation commands for various \TeX\ formats and engines}
\vspace{0.5em}
\centering
\begin{NiceTabular}{wc{5cm}ccc}[hvlines,last-col,margin=2pt]
\diagbox{\TeX\ engine}{Command}{\TeX\ format} & Plain \TeX & \LaTeX & \hologo{ConTeXt} & \\[2em]
\TeX/\hologo{eTeX} & \texttt{tex}/\texttt{etex} & & & \Block{2-1}{\ Output DVI file}\\
\Block{2-1}{\hologo{pdfTeX}} & \texttt{tex} & \texttt{latex} & & \\
& \texttt{pdftex} & \texttt{pdflatex} & \texttt{texexec} & \Block{3-1}{\ Output PDF file}\\
\hologo{XeTeX} & \texttt{xetex} & \texttt{xelatex} & (special parameters) & \\
\hologo{LuaTeX} & \texttt{luatex} & \texttt{lualatex} & \texttt{context} & \\
\CodeAfter
\SubMatrix\}{2-5}{3-5}.[xshift=-.3em]
\SubMatrix\}{4-5}{6-5}.[xshift=-.3em]
\end{NiceTabular}
\end{table}
\end{document}

However, it can be seen that, the command \diagbox doesnāt work as expected in the NiceTabular environment of nicematrix package. As the nicematrix package documentation said11,
The command \diagbox (inspired by the package diagbox), allows, when it is used in a cell, to slash that cell diagonally downwards.
but this \diagbox command isnāt as functional as that of diagbox package like in the first reproduction.
Besides, in this method, the position of annotation content isnāt easily controlled with precision.
References
-
LaTeXå „éØ, åęµ·ę“ē¼č, p. 31.Ā ˄
-
An XeLaTeX Compilation Error:
Undefined control sequence. \pdfglyphtounicode.Ā ˄ -
An Example of Annotating Equation in LaTeX Using Colored Box and TikZ Package.Ā ˄Ā ˄2
-
The
tikzmarkpackage, p. 10.Ā ˄ -
Positioning groups of tikz nodes relative to their centre.Ā ˄
-
brackets - How can I do a table with curly braces on the side?.Ā ˄
-
The package
nicematrix, p. 14.Ā ˄