{"id":14980827,"url":"https://github.com/strauman/exercisebank","last_synced_at":"2026-04-02T03:00:09.731Z","repository":{"id":94861938,"uuid":"126849433","full_name":"Strauman/exercisebank","owner":"Strauman","description":"A package for creating and managing exercise sets in LaTeX.","archived":false,"fork":false,"pushed_at":"2021-10-19T09:26:27.000Z","size":34232,"stargazers_count":11,"open_issues_count":26,"forks_count":3,"subscribers_count":2,"default_branch":"master","last_synced_at":"2026-02-24T19:40:22.719Z","etag":null,"topics":["ctan","exams","latex","latex-package"],"latest_commit_sha":null,"homepage":"https://ctan.org/pkg/exercisebank","language":"TeX","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Strauman.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2018-03-26T15:25:35.000Z","updated_at":"2025-12-09T13:35:59.000Z","dependencies_parsed_at":"2023-03-16T18:45:18.340Z","dependency_job_id":null,"html_url":"https://github.com/Strauman/exercisebank","commit_stats":null,"previous_names":[],"tags_count":68,"template":false,"template_full_name":null,"purl":"pkg:github/Strauman/exercisebank","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Strauman%2Fexercisebank","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Strauman%2Fexercisebank/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Strauman%2Fexercisebank/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Strauman%2Fexercisebank/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Strauman","download_url":"https://codeload.github.com/Strauman/exercisebank/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Strauman%2Fexercisebank/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31294808,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-02T01:43:37.129Z","status":"online","status_checked_at":"2026-04-02T02:00:08.535Z","response_time":89,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["ctan","exams","latex","latex-package"],"created_at":"2024-09-24T14:02:28.249Z","updated_at":"2026-04-02T03:00:09.713Z","avatar_url":"https://github.com/Strauman.png","language":"TeX","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Exercisebank [![Gitter](https://badges.gitter.im/exercisebank/community.svg)](https://gitter.im/exercisebank/community?utm_source=badge\u0026utm_medium=badge\u0026utm_campaign=pr-badge)  [![Build Status](https://travis-ci.org/Strauman/exercisebank.svg?branch=develop)](https://travis-ci.org/Strauman/exercisebank)\n\nDevelop build status: [![Build Status](https://travis-ci.org/Strauman/exercisebank.svg?branch=develop)](https://travis-ci.org/Strauman/exercisebank)\n\nCheck out the bleeding edge version in the [releases](https://github.com/Strauman/exercisebank/releases) section. Any testing help is appreciated!\n\n# Updated documentation\nThe latest release is stored in this zip: [exercisebank.zip](https://github.com/Strauman/exerciseBank/raw/master/exercisebank.zip)\nYou can download the latest documentation here: [release/exercisebank.pdf](https://github.com/Strauman/exercisebank/blob/master/release/exercisebank-doc.pdf).\nThis is the documentation for version 0.3.0, and might not be the same as for the one on CTAN. If you're using the CTAN version (if you didn't get the package from this repo) then use the [CTAN](https://ctan.org/pkg/exercisebank) [documentation](http://mirrors.ctan.org/macros/latex/contrib/exercisebank/exercisebank-doc.pdf)\n\n# Versions\nDownload latest(/github)-version here: [exercisebank.zip](https://github.com/Strauman/exerciseBank/blob/master/exercisebank.zip)\nGitHub at version: 0.3.0 (2019/03/18) build 137\n\nCTAN at version: v0.3.0 (2019/03/18) build 137\n\n*It might take up to 24 hours from CTAN version is uploaded until you can download it, and then even a few more days until it is updated at TeXLive and MiKTeX*\n\nA build has no major changes in the core code (could be changes in documentation, or cosmetic changes in the code). Every time a minor version (that is the middle version number) changes, an upload is made to CTAN. If the patch version change (the last version number) is significant, it will also be uploaded to CTAN. The build number (ideally) never resets.\n\n# Contributing\n## Files\nCheck out [`documentation-doc.tex`](https://github.com/Strauman/exerciseBank/blob/master/documentation-doc.tex) for instructions on how to document the code. All the documentation is automatically generated from the comments in the code using a custom `perl`-script. This file shows examples on how to document the code so that it shows up in the documentation properly.\nAll of the code are distributed within the `src`-folder. Here is an overview. The `src/packaging/` directory only contains info for building the package, but used for \"compiling\" it down to `exercisebank.sty` and documenting.\n### `src/`:\n- [`at.tex`](https://github.com/Strauman/exerciseBank/blob/master/src/at.tex) contains definitions of the `\\At` and `\\Trigger` commands\n- [`envcontrol.tex`](https://github.com/Strauman/exerciseBank/blob/master/src/envcontrol.tex) contains everything to do with controlling environments except from \"outsourcing\" stuff with `\\At` and `\\Trigger`: Namely deciding whether or not a problem, intro and/or solution should displayed (which is done in `setbuilder.tex`)\n- [`exercisebank.tex`](https://github.com/Strauman/exerciseBank/blob/master/src/exercisebank.tex) is the \"main\" file. It does most of the including of other files.\n- [`exercisecommands.tex`](https://github.com/Strauman/exerciseBank/blob/master/src/exercisecommands.tex) contains the definition for `\\DeclareExerciseCommand`, which are commands that can be used in the `\\makeset` when including problems. Like e.g. `\\phead`.\n- [`helpers.tex`](https://github.com/Strauman/exerciseBank/blob/master/src/helpers.tex) contains helping \"functions\". For example the definition of the `\\strif`, `\\exb@isin` and `\\exb@intersetion@any` macro\n- [`hidetags.tex`](https://github.com/Strauman/exerciseBank/blob/master/src/hidetags.tex) contains the code for `\\HideTags` and `\\ShowAllTags` commands.\n- [`i18n.tex`](https://github.com/Strauman/exerciseBank/blob/master/src/i18n.tex) contains everything to do with translation logic (`\\translateExBank`).\n- [`ifs.tex`](https://github.com/Strauman/exerciseBank/blob/master/src/ifs.tex) contains definitions and default value for every `\\if`-statement.\n- [`lengths.tex`](https://github.com/Strauman/exerciseBank/blob/master/src/lengths.tex) contains definitions and default values of the `\\newlength` defined, and modified, by exercisebank.\n- [`main.tex`](https://github.com/Strauman/exerciseBank/blob/master/src/main.tex) is the main file for building during development.\n- [`packageoptions.tex`](https://github.com/Strauman/exerciseBank/blob/master/src/packageoptions.tex) contains all the macros that are intended for user configuration\n- [`packages.tex`](https://github.com/Strauman/exerciseBank/blob/master/src/packages.tex) contains all the external packages used.\n- [`pathcontrol.tex`](https://github.com/Strauman/exerciseBank/blob/master/src/pathcontrol.tex) contains the logic that makes figures available within scope of exercise folder.\n- [`pointsystem.tex`](https://github.com/Strauman/exerciseBank/blob/master/src/pointsystem.tex) contains the logic and definition of the point system.\n- [`pplabel.tex`](https://github.com/Strauman/exerciseBank/blob/master/src/pplabel.tex)  contains definition of custom labeling and referring of problems.\n- [`problemoptions.tex`](https://github.com/Strauman/exerciseBank/blob/master/src/problemoptions.tex) contains definition of the `\\nextproblem`-command and it's options.\n- [`problemstyle.tex`](https://github.com/Strauman/exerciseBank/blob/master/src/problemstyle.tex)  contains `\\At`-commands that are responsible for formatting exercise headers and exercise-related styles.\n- [`setbuilder.tex`](https://github.com/Strauman/exerciseBank/blob/master/src/setbuilder.tex) contains the logic of the set making and set building. It also decides whether or not a problem,intro and/or solution should be built\n- [`spaceignore.tex`](https://github.com/Strauman/exerciseBank/blob/master/src/spaceignore.tex) contains the code for ignoring newline spaces in the code. Not active yet though.\n- [`squeeze.tex`](https://github.com/Strauman/exerciseBank/blob/master/src/squeeze.tex) contains the style for which `\\sprite` applies with `\\squeeze`. It \"squeezes\" everything so that more stuff fits on the pages\n- (`exbankpack.tex`) is the file that is built when making all these files into packaging\n#### `src/packaging`\n- `aftercompile.sh` is just instructions to perform after the `.sty` and the documentation is created.\n- `packagehead.tex`: All the files are compiled into one `.sty`-file before sent to [CTAN](http://ctan.org). This file contains the top of that `.sty`-file.\n- `README.txt` README file for CTAN.\n- `texpackvars.ini` contains information that is used when \"compiling\" the package.\n### `docs/`\nDocs are generated automatically. See [`documentation-doc.tex`](https://github.com/Strauman/exerciseBank/blob/master/documentation-doc.tex) for info on how to do documentation.\n### `tests/`\nWriting tests is also very highly appreciated:\nThe `tests/` directory contains multiple things.\n\nSee how the [tests/sanitycheck/main.tex](https://github.com/Strauman/exercisebank/tree/develop/tests/sanitycheck/main.tex) is made, and you can make similar structures.\nExercises are located in [tests/exercises](https://github.com/Strauman/exercisebank/tree/develop/tests/exercises). You can read more on how the tests would work [here](https://github.com/Strauman/travis-latexbuild). The best would be if you could clone this git, change stuff and make pull requests to this github with your tests.  (Then the tests would actually be run!).\n\nAlso: If you have docker installed and are on OS X or Linux, you can use `./runtests.sh` to run the tests locally on your computer.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstrauman%2Fexercisebank","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fstrauman%2Fexercisebank","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstrauman%2Fexercisebank/lists"}