2

How to draw such a diagram to show how the singularities are classified?

enter image description here

enter image description here

Incorrect demonstration:

enter image description here

5
  • Nested cases might do the job: ctan.org/pkg/cases?lang=en. See e.g. here: tex.stackexchange.com/questions/464189/….
    – MS-SPO
    Commented Aug 15, 2021 at 8:29
  • 2
    Sorry, can you please illucidate a little what you mean by "incorrect demonstration"? If you have some Latex code, which generated it, can you please provide it? Thanks
    – MS-SPO
    Commented Aug 15, 2021 at 9:23
  • You prove to use cascade package
    – Sebastiano
    Commented Aug 15, 2021 at 19:48
  • 2
    @Sebastiano: Unfortunately, the package cascade can't to such construction (it does structures in the other sens). I will try to write a new version of cascade for that kind of problem. Commented Aug 16, 2021 at 16:32
  • @F.Pantigny You're great. I not know this problem. Thank you very much for your precious contribute.
    – Sebastiano
    Commented Aug 16, 2021 at 20:56

2 Answers 2

4

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}

Output of the first code

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}

Output of the second code

2
  • To line up the second set of braces, as seems to be requested by the question, you can set "Elementary" flush right in a box the width of "Non-Elementary". Commented Aug 31, 2021 at 19:49
  • @barbara beeton: I have modified my answer. Commented Sep 1, 2021 at 6:37
0

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}

And here's how it looks: LaTeX ouput

1
  • Thank you for your reply, but I hope to get the line alignment of each line as shown in Figure 2.
    – D.Matthew
    Commented Aug 15, 2021 at 14:07

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .