How to draw such a diagram to show how the singularities are classified?
Incorrect demonstration:
Here is what you can do with the command \Edacsac
of the package cascade
(≥ 1.2 of 2021-08-23). \Edacsac
is the word cascade written in reverse.
\documentclass{article}
\usepackage{cascade}
\begin{document}
Singularity
\Edacsac
{Elementary}
{
\Edacsac
{Non-degenerate Elementary}
{\ShortEdacsac{Hyperbolic}{Non-Hyperbolic}}
{Degenerate Elementary}
{}
}
{Non-Elementary}
{\ShortEdacsac{Nilpotent}{Higher order}}
\end{document}
If you want alignment of the second-level braces:
\documentclass{article}
\usepackage{cascade}
\usepackage{calc}
\begin{document}
Singularity
\Edacsac
{\makebox[\widthof{Non-Elementary}][r]{Elementary}}
{
\Edacsac
{Non-degenerate Elementary}
{\ShortEdacsac{Hyperbolic}{Non-Hyperbolic}}
{Degenerate Elementary}
{}
}
{Non-Elementary }
{\ShortEdacsac{Nilpotent}{Higher order}}
\end{document}
I managed to do it with a tabular
and \left
/\right
commands with brackets.
Although, I had to put text inside an array so my solution seems really ugly.
I also used the multirow
package to merge some cells and be able to do it as you wanted. Anyway, the multirow
package seems to have difficulties to vertically align so I had to adjust with the fixup
-parameter.
Additionally, I needed amsmath
because I needed this to use \left
and \right
sequences.
Finally, here's the code:
\documentclass{article}
\usepackage{multirow}
\usepackage{amsmath}
\def\arraystretch{1.5}
\begin{document}
\begin{tabular}{l@{}l@{}l@{}l}
\multirow{3}{*}[-12pt]{Singularity} & \multirow{3}{*}[-8pt]{$\left\{\begin{array}{@{}r@{}} \text{Elementary}\\[27.5pt]\text{Non-elementary}\end{array}\right.$\vspace{1cm}} & \multirow{2}{*}{$\left\{\begin{array}{@{}l@{}} \text{Non-degenerate Elementary}\\\text{Degenerate Elementary}\end{array}\right.$} & $\left\{\begin{array}{@{}l@{}} \text{Hyperbolic}\\\text{Non-Hyperbolic}\end{array}\right.$ \\
& & & \\
& & $\left\{\begin{array}{@{}l@{}} \text{Nilpotent}\\\text{Higher order}\end{array}\right.$ &
\end{tabular}
\end{document}
cascade
can't to such construction (it does structures in the other sens). I will try to write a new version ofcascade
for that kind of problem.