{"id":14525126,"url":"https://github.com/anthonyywangmath/tikzsd","last_synced_at":"2025-04-13T07:34:27.819Z","repository":{"id":56880520,"uuid":"359651299","full_name":"anthonyywangmath/tikzsd","owner":"anthonyywangmath","description":"A program for generating LaTeX TikZ code for string diagrams.","archived":false,"fork":false,"pushed_at":"2021-05-05T06:04:36.000Z","size":646,"stargazers_count":18,"open_issues_count":0,"forks_count":1,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-03-26T23:42:45.527Z","etag":null,"topics":["latex","tikz"],"latest_commit_sha":null,"homepage":"","language":"Haskell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/anthonyywangmath.png","metadata":{"files":{"readme":"README.md","changelog":"ChangeLog.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2021-04-20T01:50:13.000Z","updated_at":"2024-10-28T14:48:59.000Z","dependencies_parsed_at":"2022-08-20T23:10:38.731Z","dependency_job_id":null,"html_url":"https://github.com/anthonyywangmath/tikzsd","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/anthonyywangmath%2Ftikzsd","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/anthonyywangmath%2Ftikzsd/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/anthonyywangmath%2Ftikzsd/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/anthonyywangmath%2Ftikzsd/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/anthonyywangmath","download_url":"https://codeload.github.com/anthonyywangmath/tikzsd/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248678305,"owners_count":21144269,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["latex","tikz"],"created_at":"2024-09-04T14:00:54.684Z","updated_at":"2025-04-13T07:34:27.777Z","avatar_url":"https://github.com/anthonyywangmath.png","language":"Haskell","funding_links":[],"categories":["Haskell"],"sub_categories":[],"readme":"# tikzsd\n\ntikzsd is a Haskell program used to generate\nLaTeX code for string diagrams.\n\nTo use the program, one defines the categories, functors and natural transformations\nto be used, specifying data such as labels and shapes.\nAfter doing this, one can generate the LaTeX for images such as\n\n![example diagram 1](images/example-pic-1.png)\n\n![example diagram 2](images/example-pic-2.png)\n\nby simply describing the desired natural transformation and telling the program\nhow to space the strings.\n\nThe first example above was described (after defining `F`, `G`, `unit` and `counit`) using the code\n\n    f : \u0026 \u0026 F \\\\\n    n : unit \u0026 \\\\\n    f : F \u0026 G \u0026 F \\\\\n    n : \u0026 counit \\\\\n    f : F \u0026 \u0026 \\\\\n\nwhile the second example above was described using the code\n\n    f : \u0026 \u0026 p1b \u0026 \u0026 \u0026 \u0026 \u0026 pi12b \u0026 pi23f \u0026 p2f \\\\\n    n : \u0026 p2-unit \u0026 \u0026 \u0026 \\\\\n    f : \u0026 \u0026 p1b \u0026 p2f \u0026 \u0026 \u0026 p2b \u0026 pi12b \u0026 pi23f \u0026 p2f \\\\\n    n : f-unit \u0026 \u0026 \u0026 p2pi12b-p1pi23b-iso \u0026 \u0026 \\\\\n    f : ff \u0026 fb \u0026 p1b \u0026 p2f \u0026 \u0026 \u0026 p1b \u0026 pi23b \u0026 pi23f \u0026 p2f \\\\\n    n : \u0026 fp1b-fp2b-iso \u0026 \u0026 \u0026 pi23-counit \u0026 \\\\\n    f : ff \u0026 fb \u0026 p2b \u0026 p2f \u0026 \u0026 \u0026 p1b \u0026 \u0026 \u0026 p2f \\\\\n    n : \u0026 \u0026 p2-counit \u0026 f-unit \u0026 \u0026 \\\\\n    f : ff \u0026 fb \u0026 \u0026 \u0026 ff \u0026 fb \u0026 p1b \u0026 \u0026 \u0026 p2f \\\\\n    n : \u0026 f-counit \u0026 fp1b-fp2b-iso \u0026 \\\\\n    f : ff \u0026 \u0026 \u0026 \u0026 \u0026 fb \u0026 p2b \u0026 \u0026 \u0026 p2f \\\\\n    n : \u0026 \u0026 p2-counit \\\\\n    f : ff \u0026 \u0026 \u0026 \u0026 \u0026 fb \\\\\n\n(again, after suitable definitions).\n\nMoreover, the program also verifies that your functors and natural transformations\nactually compose, and prints an error message if it detects something is wrong.\n\n## Usage\n\nPlease check out the user's manual\navailable in the folder `doc/user-manual` for details on how to use the program.\n\nThe folder `doc/examples` contains examples of documents whose string diagrams\nwere generated with tikzsd, along with all relevant source files.\nCurrently, there is a writeup of a proof of the Benabou-Roubaud theorem,\n    from which the above two diagrams were taken.\n\n## Installation\n\nThis is a Haskell project.\nOne can clone the repository, then run `stack install` in the cloned repository\n    to compile and install.\nThe program is available on Hackage.\n\n## Other\n\nComments, suggestions, contributions are welcome. \nThe user manual contains a roadmap for some future features.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fanthonyywangmath%2Ftikzsd","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fanthonyywangmath%2Ftikzsd","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fanthonyywangmath%2Ftikzsd/lists"}