
Criei uma árvore com a ajuda de cases
ambientes. O MWE é este:
\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[spanish]{babel}
\usepackage{amsmath}
\begin{document}
\tiny
\hyphenpenalty10000%
\[
\begin{cases}
\parbox{1.5cm}{Doctrina de\\ los elementos}
\begin{cases}
\parbox{1.5cm}{Estética\\ trascendental}\\
\parbox{1.5cm}{Lógica\\ trascendental}
\begin{cases}
\parbox{1.5cm}{Analítica\\ trascendental}
\begin{cases}
\begin{minipage}{6em}
Analítica de los conceptos\\[2pt]
Analítica de los principios
\end{minipage}
\end{cases}\\
\parbox{1.5cm}{Dialéctica\\ trascendental}
\begin{cases}
\parbox{1.5cm}{Conceptos de\\ la razón pura}\\[6pt]
\parbox{1.5cm}{Inferencias\\ dialécticas de\\ la razón pura}
\begin{cases}
\begin{minipage}{6em}\raggedright
Paralogismos de la razón pura\\[3pt]
Antinomia de la razón\\
Ideal de la razón pura
\end{minipage}
\end{cases}
\end{cases}
\end{cases}
\end{cases}
\vspace*{12pt}\\
\parbox{1.5cm}{Doctrina\\ del método}
\begin{cases}
\begin{minipage}{6em}\raggedright
Disciplina\\[2pt]
Canon\\[2pt]
Arquitectónica\\[2pt]
Historia de la razón pura
\end{minipage}
\end{cases}
\end{cases}
\]
\end{document}
O resultado é este:
Porém, não estou muito feliz com o resultado. Por exemplo, na penúltima 'coluna', a primeira chave está muito próxima da segunda chave. Observe também os
\\[2pt]
códigos para ajustar o espaçamento à força.
Eu me pergunto se existe uma maneira melhor de montar esta árvore. (Eu tentei alguns TikZ, mas sem sucesso.)
Responder1
Como sugeri em meu comentário, o uso da minha resposta aqui,Vários colchetes ou parênteses com um texto dentro, pode eliminar os grupos espremidos percebidos pelo OP. Além disso, permite marcadores de itens, bem como definições de largura de coluna variável, de modo que a quebra manual de linha não é necessária (embora aqui todas as colunas sejam fixadas em 0,6 pol.).
EDITADO para melhorar essa resposta de duas maneiras:
Eu carreguei
amsmath
para corrigir problemas de largura de chave escalonada. REEDITADO porque mesmo comamsmath
, surgiu o problema de que a largura de a\left\{
variava com a altura do elemento associado, causando desalinhamento. Eu introduzi\def\fudgeheight{3}
o que é usado por um revisado\skipcol
para definir a altura do fantasma\left\{
. Esperançosamente, ele pode ser deixado sozinho com esse valor.Como as marcas de item em qualquer coluna devem ser as mesmas para obter o espaçamento adequado, permiti a definição de marcas de item para uma coluna inteira de cada vez, em vez de exigir sua especificação para cada
\BL
item. O padrão ainda pode ser substituído por um argumento opcional.
Aqui está o MWE.
\documentclass{article}
\usepackage{amsmath}% FIXES WIDTH OF \left\{
\newcounter{levelcount}
\def\levelwidth {.6in}%NOT USED HERE, WITHOUT LEADING TEXT
\def\levelwidthi {.6in}
\def\levelwidthii {.6in}
\def\levelwidthiii{.6in}
\def\levelwidthiv {.6in}
\def\levelwidthv {.6in}
\def\levelmarki {$\dag$}
\def\levelmarkii {$-$}
\def\levelmarkiii{$+$}
\def\levelmarkiv {$\bullet$}
\def\levelmarkv {*}
\def\fudgeheight{3}
\newcommand\BL[2][\csname levelmark\romannumeral\thelevelcount\endcsname]{#1\,\parbox[t]{%
\csname levelwidth\romannumeral\thelevelcount\endcsname}{\raggedright#2}}
\def\level#1{\stepcounter{levelcount}%
\unskip$\left\{\vcenter{\hbox{\shortstack{#1}}}\right.$%
\addtocounter{levelcount}{-1}\ignorespaces}
\newcommand\skipcol[2][\relax]{%
\ifx\relax#1\skipcolhelp{\csname levelmark\romannumeral#2\endcsname}%
\else\skipcolhelp{#1}\fi}
\newcommand\skipcolhelp[1]{%
\smash{\phantom{\level{\BL[#1]{\rule{1pt}{\fudgeheight\baselineskip}}}}}}
\begin{document}
\scriptsize
\level{
\BL{Doctrina de los elementos}
\level{
\BL{Estetica trascendental}\skipcol{3}\skipcol{4}\skipcol{5}\cr
\BL{Logica trascendental}
\level{
\BL{Analitica trascendental}
\level{
\BL{Analitica de los conceptos}\cr
\BL{Analitica de los principios}\cr
}\skipcol{5}\cr
\BL{Dialectica trascendental}
\level{\cr
\BL{Conceptos de la razon pura}\skipcol{5}\cr
\BL{Inferencias dialecticas de la rason pura}
\level{
\BL{Paralogismos de la razon pura}\cr
\BL{Antinomia de la razon}\cr
\BL{Ideal de la razon pura}
}
}
}
}
\cr
\BL{Doctrina del metodo}
\level{
\BL{Disciplina}\cr
\BL{Architecture}\cr
\BL{History de la razon pura}
}\skipcol{3}\skipcol{4}\skipcol{5}
}
\end{document}
O OP prefere a resposta sem marcadores de item. Isso é facilmente conseguido definindo
\def\levelmarki {}
\def\levelmarkii {}
\def\levelmarkiii{}
\def\levelmarkiv {}
\def\levelmarkv {}
no preâmbulo. Mas sem a indicação visual fornecida pelos marcadores, pode-se desejar alguma separação vertical adicional entre os itens. Isso pode ser feito usando um ou dois itens extras \cr
adicionados entre os \BL
itens, conforme mostrado neste MWE abaixo.
\documentclass{article}
\usepackage{amsmath}% FIXES WIDTH OF \left\{
\newcounter{levelcount}
\def\levelwidth {.6in}%NOT USED HERE, WITHOUT LEADING TEXT
\def\levelwidthi {.6in}
\def\levelwidthii {.6in}
\def\levelwidthiii{.6in}
\def\levelwidthiv {.6in}
\def\levelwidthv {.6in}
\def\levelmarki {}
\def\levelmarkii {}
\def\levelmarkiii{}
\def\levelmarkiv {}
\def\levelmarkv {}
\def\fudgeheight{3}
\newcommand\BL[2][\csname levelmark\romannumeral\thelevelcount\endcsname]{#1\,\parbox[t]{%
\csname levelwidth\romannumeral\thelevelcount\endcsname}{\raggedright#2}}
\def\level#1{\stepcounter{levelcount}%
\unskip$\left\{\vcenter{\hbox{\shortstack{#1}}}\right.$%
\addtocounter{levelcount}{-1}\ignorespaces}
\newcommand\skipcol[2][\relax]{%
\ifx\relax#1\skipcolhelp{\csname levelmark\romannumeral#2\endcsname}%
\else\skipcolhelp{#1}\fi}
\newcommand\skipcolhelp[1]{%
\smash{\phantom{\level{\BL[#1]{\rule{1pt}{\fudgeheight\baselineskip}}}}}}
\begin{document}
\scriptsize
\level{
\BL{Doctrina de los elementos}
\level{
\BL{Estetica trascendental}\skipcol{3}\skipcol{4}\skipcol{5}\cr
\BL{Logica trascendental}
\level{
\BL{Analitica trascendental}
\level{
\BL{Analitica de los conceptos}\cr\cr
\BL{Analitica de los principios}\cr\cr
}\skipcol{5}\cr
\BL{Dialectica trascendental}
\level{\cr
\BL{Conceptos de la razon pura}\skipcol{5}\cr
\BL{Inferencias dialecticas de la rason pura}
\level{
\BL{Paralogismos de la razon pura}\cr\cr
\BL{Antinomia de la razon}\cr\cr
\BL{Ideal de la razon pura}
}
}
}
}
\cr
\BL{Doctrina del metodo}
\level{
\BL{Disciplina}\cr\cr\cr
\BL{Architecture}\cr\cr\cr
\BL{History de la razon pura}
}\skipcol{3}\skipcol{4}\skipcol{5}
}
\end{document}
Responder2
Schemata é um pacote projetado para desenhar basicamente esquemas. Define uma série de macros para facilitar o desenho e ajuste deste tipo de diagrama.
A maneira mais fácil de usá-lo é seguir o manual. Crie primeiro um esquema básico usando apenas \schema
e \schemabox
. Em seguida, ajuste conforme necessário da direita para a esquerda, adicionando um \smallskip
ou mais entre as folhas da direita. Em seguida, altere \schema
conforme \Schema
apropriado, sempre trabalhando da direita para a esquerda para evitar a necessidade de refazer os ajustes. O manual explica esse processo muito melhor do que eu posso fazer aqui.
Aqui está uma versão aproximada do resultado final, com base no seu MWE.
\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[spanish]{babel}
\usepackage{amssymb}
\usepackage{schemata}
\begin{document}
\Schema{4.5ex}{19ex}{%
}{%
\Schema{-16.75ex}{9.25ex}{%
\schemabox{Doctrina de\\los elementos}
}{%
\schemabox{%
Estética\\trascendental
}%
\Schema{-8ex}{9ex}{%
\schemabox{Lógica\\trascendental}
}{%
\schema{%
\schemabox{Analítica\\ trascendental}
}{%
\schemabox{%
Analítica de\\los conceptos
}\smallskip
\schemabox{%
Analítica de\\los principios
}
}\smallskip
\Schema{-5.5ex}{7.5ex}{% change this \schema to \Schema first
\schemabox{%
Dialéctica\\
trascendental
}%
}{%
\schemabox{%
Conceptos de\\
la razón pura
}\smallskip
\schema{%
\schemabox{%
Inferencias\\
dialécticas de\\
la razón pura\\
}%
}{%
\schemabox{%
\schemabox{%
Paralogismos\\
de la razón\\
pura
}\smallskip\\
\schemabox{%
Antinomia\\
de la razón\\
Ideal de la\\
razón pura
}%
}%
}
}%
}%
}\smallskip
\schema{%
\schemabox{Doctrina\\del método}
}{%
\schemabox{%
Disciplina\\
Canon\\
Arquitectónica\\
Historia de la razón pura
}
}
}
\end{document}
Responder3
Não posso oferecer nenhuma solução flexível, mas duas soluções diferentes. O primeiro cria algo semelhante ao seu MWE original, mas com melhor espaçamento. Coloquei tudo em minipáginas para ficar uniforme, você pode querer mudar isso:
\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[spanish]{babel}
\usepackage{amsmath}
\begin{document}
\tiny
\hyphenpenalty10000%
\[
\left\{
\begin{aligned}
&\begin{minipage}{1.5cm}\raggedright{Doctrina de\\ los elementos}\end{minipage}
\left\{
\begin{aligned}
&\begin{minipage}{1.5cm}\raggedright{Estética\\ trascendental}\end{minipage}
\\
&\begin{minipage}{1.5cm}\raggedright{Lógica\\ trascendental}\end{minipage}
\left\{
\begin{aligned}
&\begin{minipage}{1.5cm}\raggedright{Analítica\\ trascendental}\end{minipage}
\left\{
\begin{aligned}
&\begin{minipage}{1.5cm}\raggedright{Analítica de\\ los conceptos}\end{minipage}
\\
&\begin{minipage}{1.5cm}\raggedright{Analítica de\\ los principos}\end{minipage}
\end{aligned}
\right.
\\
&\begin{minipage}{1.5cm}\raggedright{Dialéctica\\ trascendental}\end{minipage}
\left\{
\begin{aligned}
&\begin{minipage}{1.5cm}\raggedright{Conceptos de\\ la razón pura}\end{minipage}
\\
&\begin{minipage}{1.5cm}\raggedright{Inferencias\\ dialécticas de\\ la razón pura}\end{minipage}
\left\{
\begin{aligned}
&\begin{minipage}{1.5cm}\raggedright{Paralogismos\\ de la razón\\ pura}\end{minipage}
\\
&\begin{minipage}{1.5cm}\raggedright{Antinomia de la razón}\end{minipage}
\\
&\begin{minipage}{1.5cm}\raggedright{Ideal de la razón pura}\end{minipage}
\end{aligned}
\right.
\end{aligned}
\right.
\end{aligned}
\right.
\end{aligned}
\right.
\\
&\begin{minipage}{1.5cm}\raggedright{Doctrina\\ del método}\end{minipage}
\smash[b]{\left\{
\begin{aligned}
&\begin{minipage}{1.5cm}\raggedright{Disciplina}\end{minipage}
\\
&\begin{minipage}{1.5cm}\raggedright{Canon}\end{minipage}
\\
&\begin{minipage}{1.5cm}\raggedright{Arquitectónica}\end{minipage}
\\
&\begin{minipage}{1.5cm}\raggedright{Historia de la\\ razón pura}\end{minipage}
\end{aligned}
\right.}
\end{aligned}
\right.
\]
O segundo é mais do meu gosto pessoal, mas traz seus próprios problemas. Funciona para este exemplo, mas surgirão problemas quando ramos opostos se sobrepõem, portanto, isso não é algo generalizável:
\[
\left\{
\begin{aligned}
&\begin{minipage}{1.5cm}\raggedright{Doctrina de\\ los elementos}\end{minipage}
\smash[t]{\left\{
\begin{aligned}
&\begin{minipage}{1.5cm}\raggedright{Estética\\ trascendental}\end{minipage}
\\
&\begin{minipage}{1.5cm}\raggedright{Lógica\\ trascendental}\end{minipage}
\smash[b]{\left\{
\begin{aligned}
&\begin{minipage}{1.5cm}\raggedright{Analítica\\ trascendental}\end{minipage}
\smash[t]{\left\{
\begin{aligned}
&\begin{minipage}{1.5cm}\raggedright{Analítica de\\ los conceptos}\end{minipage}
\\
&\begin{minipage}{1.5cm}\raggedright{Analítica de\\ los principos}\end{minipage}
\end{aligned}
\right.}
\\
&\begin{minipage}{1.5cm}\raggedright{Dialéctica\\ trascendental}\end{minipage}
\smash[b]{\left\{
\begin{aligned}
&\begin{minipage}{1.5cm}\raggedright{Conceptos de\\ la razón pura}\end{minipage}
\\
&\begin{minipage}{1.5cm}\raggedright{Inferencias\\ dialécticas de\\ la razón pura}\end{minipage}
\smash[b]{\left\{
\begin{aligned}
&\begin{minipage}{1.5cm}\raggedright{Paralogismos\\ de la razón\\ pura}\end{minipage}
\\
&\begin{minipage}{1.5cm}\raggedright{Antinomia de la razón}\end{minipage}
\\
&\begin{minipage}{1.5cm}\raggedright{Ideal de la razón pura}\end{minipage}
\end{aligned}
\right.}
\end{aligned}
\right.}
\end{aligned}
\right.}
\end{aligned}
\right.}
\\
&\begin{minipage}{1.5cm}\raggedright{Doctrina\\ del método}\end{minipage}
\smash[b]{\left\{
\begin{aligned}
&\begin{minipage}{1.5cm}\raggedright{Disciplina}\end{minipage}
\\
&\begin{minipage}{1.5cm}\raggedright{Canon}\end{minipage}
\\
&\begin{minipage}{1.5cm}\raggedright{Arquitectónica}\end{minipage}
\\
&\begin{minipage}{1.5cm}\raggedright{Historia de la\\ razón pura}\end{minipage}
\end{aligned}
\right.}
\end{aligned}
\right.
\]
\end{document}
Responder4
Usando TikZ
, esta seria outra opção (seguindoesta resposta):
\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{positioning,decorations.pathreplacing}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[spanish]{babel}
\begin{document}
\begin{tikzpicture}
\hyphenpenalty10000
\node (main) {};
\begin{scope}[node distance=1em, text width=4em, align=left]
\node [right=of main, yshift=6em] (a1) {Doctrina de los elementos};
\node [right=of main, yshift=-6em] (a2) {Doctrina del método};
\end{scope}
\draw[decorate,decoration={brace, mirror}] (a1.north west) -- (a2.south west);
\begin{scope}[node distance=1em, text width=6em, align=left]
\node [right=of a1, yshift= 2em] (b1) {Estética trascendental};
\node [right=of a1, yshift= -2em] (b2) {Lógica trascendental};
\end{scope}
\draw[decorate,decoration={brace,mirror}] (b1.north west) -- (b2.south west);
\begin{scope}[node distance=1em, text width=2cm, align=left]
\node [right=of b2, yshift= 6em] (c1) {Analítica trascendental};
\node [right=of b2, yshift= -6em] (c2) {Dialéctica trascendental};
\end{scope}
\draw[decorate,decoration={brace,mirror}] (c1.north west) -- (c2.south west);
\begin{scope}[node distance=1em, text width=2cm, align=left]
\node [right=of c1, yshift= 3em] (d1) {Analítica de los conceptos};
\node [right=of c1, yshift= -3em] (d2) {Analítica de los principios};
\end{scope}
\draw[decorate,decoration={brace,mirror}] (d1.north west) -- (d2.south west);
\begin{scope}[node distance=1em, text width=5em, align=left]
\node [right=of c2, yshift= 3em] (d3) {Conceptos de la razón pura};
\node [right=of c2, yshift= -3em] (d4) {Inferencias dialécticas de la razón pura};
\end{scope}
\draw[decorate,decoration={brace,mirror}] (d3.north west) -- (d4.south west);
\begin{scope}[node distance=1em, text width=2cm, align=left]
\node [right=of d4, yshift= 4em] (e1) {Paralogismos de la razón pura};
\node [right=of d4] (e2) {Antinomia de la razón};
\node [right=of d4, yshift= -4em] (e3) {Ideal de la razón pura};
\end{scope}
\draw[decorate,decoration={brace,mirror}] (e1.north west) -- (e3.south west);
\begin{scope}[node distance=1em, text width=2cm, align=left]
\node [right=of a2, yshift= 4em] (b3) {Disciplina};
\node [right=of a2, yshift= 2em] (b4) {Canon};
\node [right=of a2, yshift= 0em] (b5) {Arquitectónica};
\node [right=of a2, yshift= -3em] (b6) {Historia de la razón pura};
\end{scope}
\draw[decorate,decoration={brace,mirror}] (b3.north west) -- (b6.south west);
\end{tikzpicture}
\end{document}