Graphics, Figures & TablesMacros for Drawing Systemic Networks with TikZ

Information and discussion about graphics, figures & tables in LaTeX documents.
Post Reply
lps
Posts: 1
Joined: Tue Feb 24, 2015 11:02 pm

Macros for Drawing Systemic Networks with TikZ

Post by lps »

Hello,
I would like to create a set of macros to help me
draw Systemic Networks (SN) in my PhD thesis.
SN are applied in Systemic Functional Linguistics and
represent choices that speaker has to make in order to
construe meaning.

An example SN is attached to this post.

How to draw system:
  • * on the left side in CAPS is the system name
    (e.g. FINITNESS)
    * on the right side in small letters is a set of
    choices (e.g. finite and non-finite)
Connecting systems to form a systemic network:
  • * choice order is from left to right
    * feature choice in a system enables the next
    system(s) (e.g. choosing non-finite enables
    NON-FINITE-TYPE system)
    * if there is more than one system enabled by a choice
    those systems are grouped with "{" shape to the right
    * if several choices need to be pre-made to active a
    certain system then those features are grouped with "]"
    shape to the left (e.g. to activate DEICTICITY system,
    both "finite" and "indicative" features need to be chosen)
    * if either of several choices need to be
    pre-made to active a certain system then those features
    are grouped with "}" shape to the left (e.g. assume that
    to activate DEICTICITY system, eitehr "finite" or
    "indicative" features need to be chosen)
The macros:

I would imagine that the macros shall enable me writing
something like this:

Code: Select all

\system{STATUS}{major,minor} (status);
\system{VOICE}{active, passive} (voice);
\system{MOOD}{indicative, imperative} (mood);
\system{FININESS}{finite,non-finite} (finitness);
\system{DEICTICITY}{temporal, modal} (deicticity);

\enables (status.major) - (mood);
\enables (status.major) - (voice);
\enables (status.major) - (finitness);
\enables (finitness.finite, mood.indicative) - (deicticity);

%OR converse relation \reuires
\requires (mood) - (status.major);
%...
\requires (deicticity) - (finitness.finite, mood.indicative);
%OR
\requires (deicticity) - (finitness.finite);
\requires (deicticity) - (mood.indicative);
The positioning and ordering of the systems, would
be automatically calculated depending on the set
of "enablement" and "requirement" constraints.
Or It could be somehow made dependent on the order
in which systems are being declared.

I know that what I request here is a new TikZ package,
but if anyone is able to write something like that It would
be of trmendous value for entire community of systemic
functional linguists.

Otherwise can anyone give me some hints on how to
approach such macros as I have never created any Latex/Tikz
macros.

Sincerely,
Eugeniu
Attachments
sample systemic network of choices
sample systemic network of choices
sample-systemic-network-resized.png (80.88 KiB) Viewed 3522 times

Recommended reading 2024:

LaTeXguide.org • LaTeX-Cookbook.net • TikZ.org

NEW: TikZ book now 40% off at Amazon.com for a short time.

And: Currently, Packt sells ebooks for $4.99 each if you buy 5 of their over 1000 ebooks. If you choose only a single one, $9.99. How about combining 3 LaTeX books with Python, gnuplot, mathplotlib, Matlab, ChatGPT or other AI books? Epub and PDF. Bundle (3 books, add more for higher discount): https://packt.link/MDH5p

Stefan Kottwitz
Site Admin
Posts: 10324
Joined: Mon Mar 10, 2008 9:44 pm

Re: Macros for Drawing Systemic Networks with TikZ

Post by Stefan Kottwitz »

Hi Eugeniu,

welcome to the forum!

One thought: automatic calculation of positions and order is great, but hard, often one would get undesirable results and wonder how to continue. Such as avoiding loops and crossing edges. TikZ has such algorithms for drawing trees and graphs, I found it a bit hard if they won't be easy standard.

Then, instead of inventing new syntax and hoping somebody would write a new package for it, you could use standard TikZ syntax for trees and define styles for nodes, edges, growing, so you would get that result.

It's good to know a general big goal, however it could be a good start to begin with: how can I draw this tree (with screenshot and some starting code). With some own contribution, then a here finished sample, one could generalize.

Stefan
LaTeX.org admin
User avatar
cgnieder
Site Moderator
Posts: 2000
Joined: Sat Apr 16, 2011 7:27 pm

Re: Macros for Drawing Systemic Networks with TikZ

Post by cgnieder »

Late to the party but I guess this shouldn't be too hard with pgf's graphs library (which does require Lua(La)TeX, though…)

Regards
site moderator & package author
Post Reply