On X/Twitter, I saw a drawing by toshᴉzumi. It’s pretty complex, well made, I like it very much. I had a few thoughts how I would adjust it a bit to my taste. toshᴉzumi shared the code, so I played a bit with it. What I was doing:
- Using styles for repeated designs (colored nodes, arrows)
- font=\scriptsize instead of \scriptsize in node text for lineskip
- Sharper arrow tips
- symmetric bent arrows
- cone in the middle of the plane
- text below plane aligned
- bottom texts and top texts aligned
- sans serif font is used because I really prefer it for diagrams
I did some manual tweaks for the look I liked, just to have it quickly done because the evening is already late.
This is the result – click on it to zoom it bigger:
The original source is on Github. And this is the modified code:
\documentclass[tikz,border=10pt]{standalone} \usetikzlibrary{shapes,positioning,fit} \usetikzlibrary{calc} %for centerarc \tikzset{ container/.style={ draw, rectangle, dashed, inner sep=0.75em } } \renewcommand*{\familydefault}{\sfdefault} \tikzset{>=stealth, memory/.style = {fill=cyan!10, text width=56, node distance=155}, cognitive/.style = {fill=yellow!30, text width=65}, phenomenal/.style = {fill=cyan!5, text width=55, node distance=165}, explain/.style = {fill=magenta!10, text width=60,font=\scriptsize}, small/.style = {fill=yellow!40, text width=50,font=\scriptsize}, arrow/.style = {->, ultra thick, opacity=.8}} \fontsize{1em}{1.1em}\selectfont \begin{document} %from Bergson - Matter and Memory, p. 211 (fig. 3) \begin{tikzpicture}[every node/.append style = {rectangle, text centered}] %parallelogram \draw[very thick] (3.25,1.75)--(-2,1.75)--(-3.5,-1.75)--(1.75,-1.75)--cycle; \draw[ultra thick,white] (-0.54,1.75)--(0.55,1.75); \draw[very thick,dashed,gray] (-0.54,1.75)--(0.55,1.75); %triangle \draw[very thick] (0,0)--(-2.25,7.5); %leftwards line \draw[very thick] (0,0)--( 2.25,7.5); %rightward line %ellipses \draw[very thick] (0,7.5) ellipse (2.25cm and 0.75cm); \draw[very thick] (0,5.0) ellipse (1.5cm and 0.375cm); \draw[very thick] (0,2.5) ellipse (0.75cm and 0.1875cm); %labels \node (S) at (0,-0.3) {S}; \node at (3.5,1.75) {P}; \node (A) at (-2.5,7.5) {A}; \node (Ap) at (-1.85,5) {A$'$}; \node (App) at (-1.2,2.5) {A$''$}; \node (B) at ( 2.5,7.5) {B}; \node (Bp) at ( 1.85,5) {B$'$}; \node (Bpp) at ( 1.2,2.5) {B$''$}; \node (V) at ( 0,7.5) {}; \node (Vp) at (0,5) {}; \node (Vpp) at (0,2.5) {}; \node[below=1.5 of S.center, xshift=-0.9cm] {Bergson's Cone of Memory (1896)}; %%%%%%% modified %%%%%%%% \node[rectangle, fill=gray!10, text width=75, align=left, below left=0.15 and 0.1 of S.south, font=\scriptsize] (Body) {the image of the \textbf{body} \\ the present perception \\ the sensori-motor state}; %% \\ the present perception\\ the sensori-motor state \draw[thin] (S)--(Body); %B to %Sense \node[memory, right of=V] (LTM){Long-Term Store}; \node[text width=56, below= 0 of LTM] (){permanent}; \node[memory, right of=Vp] (STM){Short-Term Store}; \node[text width=56, below= 0 of STM] {15–30\,s}; \node[memory, right of=Vpp](SenM) {Sensory Registar}; \node[text width=56, below= 0 of SenM] (Decay){10–100\,ms }; \node[memory, right of=S, node distance=155](Input) {Sensory Input}; \node[container, fit=(LTM) (Input)] (Msys) {}; \node[above=-0.12 of Msys,align=center] (MS) {Memory System\\\vphantom{M}}; \node[below=1.1 of Input.center, text width=80] () {Atkinson \& Shiffrin (1968)}; %edge to sense \draw[thin] (B)--(LTM); %B to \draw[thin] (Bp)--(STM); %B' to \draw[thin] (Bpp)--(SenM); %B' to \draw[thin] (S)--(Input); %S to %%%%%%% %Varela's Time WIndow \node[phenomenal, right of=LTM] (Narrative) {Narrative}; \node[rectangle, fill=cyan!5, text width=55, right of=STM, node distance=165] (Cognition) {Cognition}; \node[phenomenal, right of=SenM] (Nowness) {``Nowness''}; \node[phenomenal, right of=Input] (Now) {Now}; \node[explain] at ($(Narrative)!.5!(Cognition)$) (NT) {descriptive-narrative assessments \par \tiny (the '10' scale) }; \node[explain] at ($(Nowness)!.5!(Cognition)$) {relaxation time for large-scale integration \par \tiny (the '1' scale) }; \node[explain]at ($(Now)!.5!(Nowness)$) (ET) {basic or elementary events \par \tiny (the '1/10' scale) }; \node[container, fit=(Narrative) (Now)] (TS) {}; % \node[above=0 of Ssys] {Self System}; \node[text width=80, right of=MS, node distance=165] {Phenomenal Timescales}; \node[below=1.1 of Now.center, text width=80] {\vphantom{V}\\Varela (1999)}; %edge to timescale \draw[thin] (LTM)--(Narrative) node[midway] (T1){}; %B to \draw[thin] (STM)--(Cognition) node[midway] (T2){}; %B' to \draw[thin] (SenM)--(Nowness) node[midway] (T3){}; %B' to \draw[thin] (Input)--(Now) node[midway] (T4){}; %B' to % %%%%%%%%% % %ICS \node[cognitive] at ($(T1)!.5!(T2)$) (PS) {Propositional Meaning Subsystem}; \node[cognitive] at ($(T2)!.5!(T3)$) (IS) {Implicational Meaning Subsystem}; \node[cognitive] at ($(T3)!.5!(T4)$) (BS) {\vphantom{B}\\Body-State\\\vphantom{S}}; \node[text width=65, above=0.00 of T1] {Interacting Cognitive Subsystems}; \node[text width=75, below=1.1 of T4.center] {Teasdale \& Barnard (1993)}; \draw [->,thick] (PS) to [bend left=50] node[below] {} (IS); \draw [->,thick] (IS) to [bend left=50] node[below] {} (PS); \node[rectangle, text width=50] at ($(IS)!.5!(PS)$) {cognitive loop}; \draw [->,thick] (IS) to [bend left=50] node[below] {} (BS); \draw [->,thick] (BS) to [bend left=50] node[below] {} (IS); \node[rectangle, text width=50] at ($(BS)!.5!(IS)$) {sensory loop}; % % %Self \node[rectangle, fill=cyan!10, text width=66, right of=Narrative, node distance=165] (Nself) {Narrative Self}; \node[rectangle, fill=cyan!10, text width=66, right of=Cognition, node distance=165] (Sawa) {Self-Consciousness}; \node[rectangle, fill=cyan!10, text width=66, right of=Nowness, node distance=165] (Mself) {Minimal Self}; \node[rectangle, fill=blue!80, text width=66, right of=Now, node distance=165,text=white] (Non) {Non-Self}; \node[container, fit=(Nself) (Mself)] (Ssys) {}; \node[above=0.41 of Ssys] {Self System}; \node[rectangle, fill=magenta!10, text width=50, font=\scriptsize] at ($(Sawa)!.5!(Nself)$) (SI) {sense of identity}; \draw[->,ultra thick,opacity=1.0,magenta!10,line width=3] (SI)--(Nself) node [midway] () {}; \node[small] at ($(Sawa)!.5!(Mself)$) (IB) {intentional binding}; \draw[->,ultra thick,opacity=1.0,yellow!40,line width=3] (IB)--(Mself) node [midway] () {}; \node[small] at ($(Mself)!.5!(Non)$) (MI) {multimodal integration}; \draw[->,ultra thick,opacity=1.0,yellow!40,line width=3] (MI)--(Mself) node [midway] () {}; \node[below=1.1 of Non.center, text width=80] {\vphantom{G}\\Gallagher (2002)}; % %edge to self \draw[thin] (Narrative)--(Nself) node[midway] (E1){}; %B to \draw[thin] (Cognition)--(Sawa) node[midway] (E2){}; %B' to \draw[thin] (Nowness)--(Mself) node[midway] (E3){}; %B' to \draw[thin] (Now)--(Non) node[midway] (E4){}; %B' to \node[below=1.1 of E4.center, text width=80] {Erikson (1968), Beck (1979)}; %Decentering/Identify \coordinate[left=0.25 of E1] (P2); \coordinate[left=0.25 of E3] (P1); \coordinate[left=0.25 of E4] (P0); \coordinate[right=0.25 of E1] (P4); \coordinate[right=0.25 of E3] (P3); \coordinate[right=0.25 of E4] (P02); \draw[arrow,teal,line width=4] (P2)--(P1) node [midway] (P5) {}; \draw[arrow,teal,densely dashed] (P1)--(P0) node [midway] {}; \draw[arrow,purple,line width=4] (P3)--(P4) node [midway] (P6) {}; \draw[arrow,purple,densely dashed] (P02)--(P3) node [midway] {}; \node [rectangle, fill=teal,text=white] at ($(E1)!0.5!(E3)+(0,-1)$) {Decentering}; \node [rectangle, fill=purple,text=white] at ($(E1)!0.5!(E3)+(0,1)$) {Self-Identify}; \end{tikzpicture} \end{document}
Click on “Run LaTeX here” to get it as a PDF.
Learning TikZ is challenging but really rewarding. A good book can help learning the basics quickly, such as TikZによるLaTeXグラフィックス.