Skip to content

JohannesProgrammiert/cetz-timing

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

cetz-timing

A Typst Package for Timing Diagrams.

Currently under development, see 'TODO'.

  • The texttiming API is done.
  • The timingtable API is very experimental and will change.

Usage Examples

Inline

#import "cetz-timing.typ": texttiming

I am an inline timing diagram: '#texttiming("HL3{CX}2Z"}'.

Output:

inline diagram

Diagram

#import "cetz-timing.typ": timingtable

I am a basic timing diagram with multiple rows:

#timingtable(
  [Clock], [6{C}],
  [Chip Select], [H4LH],
  [Data], [U4DU],
)

Output:

diagram

TODO

  • Add data labels: D[MISO]. content in braces.
  • Add CeTZ anchors for diagram.
  • Add optional CeTZ anchors for individual signals: D<miso>, D<miso>[MISO].
  • Make anchors available so users can do custom arrows and annotations -> leave drawing CeTZ canvas to the user?
  • Apply color to U pattern.
  • Add option to omit first column of timing table.
  • Add integration to cetz-plot
  • [Optional] Understand difference between timingtable and timing plot in tikz-timing and port it if suitable
  • [Optional] Add caption to timing table.
  • [Optional] Add table header to timing table.
  • [Optional] Add tick marks.
  • [Optional] Add grouping of table rows.
  • [Optional] Add highlighting of row groups and ticks.
  • [Optional] Correct strok argument.
  • [Optional] Resolve mantys warnings.
  • [Optional] Allow non-integer lengths for logic levels.

About

A Typst Package for Timing Diagrams

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages