Skip to content

Tags: sasozivanovic/forest

Tags

v2.1.5

Toggle v2.1.5's commit message
v2.1.5

Changes:

1. Minor improvements:

  - Smarter `baseline` default for the linguistics library.

  - Yield warning when the `baseline` is set to a node that is not
    drawn (e.g. a `phantom` node).

v2.1.4

Toggle v2.1.4's commit message
v2.1.4

Changes:

1. Performance:

  - Reimplement some internals of the packing algorithm to avoid
    consuming the string pool in documents with many trees. (We're about
    10\% slower now, but (depending on the document) the memory usage
    can drop up to five times!)

2. Bugfixes:

  -  Fix aggregate function `count`.

  - Provide a workaround for a PGF bug: for coordinate-shaped nodes,
    `\positionnodelater` provides dimensions with `pt` in a wrong
    catcode, so `max y` and friends did not work for such nodes.

v2.1.3

Toggle v2.1.3's commit message
v2.1.3

1. Bugfix:

  - Update `nice empty nodes` from linguistics library to use `for current and siblings`.

v2.1.2

Toggle v2.1.2's commit message
v2.1.2

1. Bugfixes:

  - A level of hash doubling was unnecessarily introduced for the
    <keylist> argument of all loops, and the <nodewalk> argument of
    `process keylist` and `process delayed`. (Use compat key
    `2.1.1-loops` to revert to the old behaviour.)

2. Minor improvements:

  - Implemented key `also`.

v2.1.1

Toggle v2.1.1's commit message
v2.1.1

Changes:

1. Minor improvements

- Implemented argument processor instruction \index{processor>p}.

2. Bugfixes

- Argument processor instruction `u` introduced an extra layer of braces
  around each result item.

- Argument processor instructions `l` and `L` did not always load the
  desided number of arguments.

- Argument processor instructions `and` and `or` were taking the
  arguments from the start of the left side instead of its end.

v2.1

Toggle v2.1's commit message
v2.1

Changes:

1. Performance:
- Substantially enhance the argument processor.
- `<forestmath>` expressions: accept an argument processor expression whereever
  a `<pgfmath>` expression is allowed, simply by prefixing it with `>`.
- Internally, avoid using pgfmath whereever possible.
- Implement a fast set of macros to determine if a `<pgfmath>` expression is
  just a count or dimen expression.
- Optimize keys `split option` and `split register`.

2. Minor improvements:
- Allow <relative node name>s in handler `.option`.
- Make aggregate functions nestable and implement their `pgfmath` versions.
- Implement `if option/register</>` for dimen and count options and registers.
- Implement `if current nodewalk empty`.
- Implement nodewalk steps `leaves, `-level` and `-level'`.
- Implement nodewalk operation `unique`.
- Implement nodewalk key `on invalid` values `error if real` and `last valid`;
  remove value `step` (no `compat` key, as it was broken and useless).
- Implement growth direction based anchors with the `-` prefix: `-parent`,
  `-parent first` etc.
- Implement key `save and restore register`.
- Implement handler `.nodewalk style`.
- Implement `pgfmath` function `forestloopcount`.
- Allow multiple occurrences of package option `compat`.

Bugfixes:
- Fix a bug in externalization: `\forest@file@copy` set `\endlinechar` to `-1`,
  which caused problems for several packages, e.g. `biblatex`.
- Fix a bug in `delay n`: the number of cycles was reevaluated at each cycle
  (with `compat=2.0-delayn` key).
- Fix a bug in `fixed edge angles`.
- Fix `compat=silent`, `compat=1.0-forstep` and `compat=1.0-stages`.
- Fix invocations of spatial propagators `for nodewalk`, `for Nodewalk` and `Nodewalk`.
- Fix invocations of nodewalk steps `for group`, `for next on tier` and `for
  previous on tier`.
- Fix behaviour of `for next on tier`, `for previous on tier` and `for to tier`
  on arrival to the invalid node.
- Fix problems with interaction between `folder` and `forked edges`.

v2.0.3

Toggle v2.0.3's commit message
v2.0.3

Changes:

1. Bugfixes
- Keys `delay n` and `.wrap n pgfmath args` don't introduce two layers of hash
  doubling anymore (with compat keys for the old, confusing behaviour).
- Execute `tikz` code for all (including phantom) nodes. (The feature
  of ignoring phantom nodes was introduced in v2.0.2, but turns out it
  was a bad idea: for example, having a phantom root with some tikz
  code is not uncommon.)
- Keys `label` and `pin` now *append* to option tikz, as makes sense.
- Fix nodewalk steps `filter` and `branch` so that they can be embedded under
  nodewalk operations.
- Execute `before packing node` even when the node has no children.
- `level<={0}{...}` now works as expected.
- Re-setting the node name to the same value doesn't yield an error anymore.
- Don't add the separator when adding the first element to a keylist option or
  register.
- Copy externalization files in TeX (don't rely on `\write18`).
- Consistently store dimen options and registers with pts of catcode other.
- Properly initialize readonly count options (`n`, `n'` `n children`
  and `level`).

2. New features
- Rework `draw tree edge` so that by default, an edge is drawn only it both its
  node and its node's parent are drawn. And yes, implement `if node drawn`.
- Implement circularity detection in dynamic node operations.
- Implement debug categories and debugging of dynamic node operations.
- Declare some further `tempdim...` registers.
- Make option `id` accessible via `\forestoption`.

v2.0.2

Toggle v2.0.2's commit message
v2.0.2

Changes:

1. Bugfixes
- Respect `phantom` when drawing extra `tikz` material.
- Silently rename the standard node when redefining it.
- Restore original pgfpath after packing.
- Initialize registers (to {} / 0pt / 0).
- Dynamic key `replace by` now successfully replaces the root node.

2. New features
- Generalize (parenthesized) argument of `forest` environment /
  `\Forest` macro from temporary redefinition of `stages` into a
  general, key-value based configuration argument of the current
  environment / macro.
- It is now possible to pass package options to libraries.
- Implement `draw tree node'`, `draw tree edge'` and `draw tree tikz'`.
- Implement handler `.nodewalk style`.
- Implement step `last dynamic node` and named nodewalk `dynamic nodes`.

3. Documentation
- Improve documentation of `draw tree` and friends.
- Fix some typos.

v2.0.1

Toggle v2.0.1's commit message
v2.0.1

Changes:

1. Bugfixes
- Change the copyright year to 2016!
- In `calign=edge midpoint`: s-align the midpoint between the children's
  child anchors as advertised in the documentation: to parent's parent
  anchor, not node anchor.
- Correctly mangle option/register names to pgfmath names.
- Accept key `history` in `Nodewalk` config.

2. New features:
- Add * argument to `\useforestlibrary`.
- Implement `current and siblings (reversed)`.

3. Documentation
- Add examples of embedded nodewalks.
- Fix the documentation of option `anchor`.
- Fix documentation of `calign`.
- Add a note on typos in temporal propagators.

... and some minor stuff.

v2.0.0

Toggle v2.0.0's commit message
v2.0.0

Changes:

1. Reorganize, update and fix some parts of documentation.

2. Some minor additions and bugfixes:
- expose original versions of autoforwarded keys
- implement "unautoforward"
- implement loading of multiple libraries using a single call
- rename \forestloadlibrarydefaults to \forestapplylibrarydefaults
- add version info to \ProvidesForestLibrary
- implement "content to"
- generalize "aux" index in \forest@sort
- bugfix in compat's "fit to tree"
- bugfix in \forest@Pointanchor: inspect the given node's @box
- bugfix in step "following/preceding nodes"
- compat: expand the scope of "forstep" to relative nodes
- bugfix in compat=1.0-name: relax if no name is given
- compat: use tikz anchors in compat's "triangle"

3. Administration:
- fix licencing info
- fix checksum processing in Makefile
- implement "node format'"
- add missing "deprecated" messages to compat
- add information about which files are needed at runtime
etc.