Compare commits
109 commits
Author | SHA1 | Date | |
---|---|---|---|
505cdf92ca | |||
bc3a076cd6 | |||
92dc505b06 | |||
9225c03547 | |||
b1925a752f | |||
e7f4d10438 | |||
6ae8238e15 | |||
8bed099045 | |||
13bbc42e4e | |||
7be9e1046b | |||
eaf0763583 | |||
72cc9d78b0 | |||
34f0a41699 | |||
c07e84d91b | |||
8798571831 | |||
823c5097ce | |||
6d8a131865 | |||
b587beb806 | |||
ed6ee5ec64 | |||
2cd113166d | |||
6263366b56 | |||
0156ddca43 | |||
476b57d2ba | |||
3858718041 | |||
e8fedd07a0 | |||
65c801c212 | |||
f941a10fe6 | |||
5a0ec99d86 | |||
3c8f825e3f | |||
7e76546afd | |||
d5af0e7ad1 | |||
4719ba2d52 | |||
e0b9b7ad44 | |||
7c3775828e | |||
546a7007cc | |||
4008cb355f | |||
298e515a51 | |||
896956f6fa | |||
77140598bf | |||
27a592b9f1 | |||
1de88c00b8 | |||
0aece45a9c | |||
6aa92357e0 | |||
3483a24dca | |||
51afbd7188 | |||
521ce5c804 | |||
b6a13cfa40 | |||
2d16a2d72a | |||
8c5b9ad7a4 | |||
e9f75cd220 | |||
80377fc784 | |||
aaa93783b2 | |||
bd9d19bcfb | |||
d96c0bdb38 | |||
45a0b480cb | |||
b7ba678943 | |||
3a734d9f1b | |||
cf7b02f41f | |||
c939483b42 | |||
5f2a38ae45 | |||
6545412baf | |||
004413d674 | |||
8583c50c59 | |||
0b631683d7 | |||
e8be9fcb16 | |||
6db316f4a0 | |||
efa4817c51 | |||
d7e3d2a9f0 | |||
08fa626f54 | |||
0a902cc0ec | |||
371ce76a81 | |||
394ecc310c | |||
78e06ed17d | |||
778f5297d1 | |||
02c2acd330 | |||
123299b87d | |||
9e214ef6cc | |||
f3f8254c3b | |||
b15dedb366 | |||
3c2e68f574 | |||
f80bd84852 | |||
7fe4092d8e | |||
0981e3f2d7 | |||
7a35a13f87 | |||
c4d46e5dce | |||
7dca64fa36 | |||
c38fd317ae | |||
9b64e53a98 | |||
85d91e7b17 | |||
0f07a69b15 | |||
eafd4336d6 | |||
a68ac2fdaa | |||
0070d2aa66 | |||
3cc1440fb5 | |||
f1dacf4a5d | |||
64fbca35dd | |||
bbfdb29cec | |||
11d13efe62 | |||
a3211f8a8f | |||
5b7e93e76a | |||
48651b4919 | |||
bea7380166 | |||
fc67ef99ef | |||
c637fe051c | |||
d59ef01933 | |||
adc9c32514 | |||
f878e66cdf | |||
32daab8d20 | |||
b041d8c990 |
63 changed files with 1472 additions and 415 deletions
|
@ -1,18 +0,0 @@
|
||||||
set -e
|
|
||||||
cd .ci
|
|
||||||
export COMMIT_MSG=$(python3 print_deploy_message.py)
|
|
||||||
cd ..
|
|
||||||
make ci-build
|
|
||||||
cd build/LatexPackagesBuild
|
|
||||||
git add .
|
|
||||||
git commit -m "${COMMIT_MSG}" || echo "Nothing new to commit"
|
|
||||||
git push --set-upstream origin ${CI_COMMIT_REF_NAME}-build
|
|
||||||
cd ../..
|
|
||||||
mkdir -p ~/texmf/tex/latex
|
|
||||||
cp -r build/LatexPackagesBuild ~/texmf/tex/latex
|
|
||||||
make doc
|
|
||||||
cd build
|
|
||||||
mv LatexPackagesBuild LatexPackages
|
|
||||||
zip -r LatexPackages.zip LatexPackages/ -x '*.git*'
|
|
||||||
zip -r LatexPackagesDocumentation.zip documentation
|
|
||||||
tree -H '.' -I "index.html" -D --charset utf-8 -T "LatexPackages" > index.html
|
|
|
@ -1,12 +1,17 @@
|
||||||
set -e
|
set -e
|
||||||
eval $(ssh-agent -s)
|
|
||||||
echo "$GITLAB_DEPLOY_KEY" | base64 -d | tr -d '\r' | ssh-add - > /dev/null
|
|
||||||
|
|
||||||
|
# Set up ssh private key
|
||||||
mkdir -p ~/.ssh
|
mkdir -p ~/.ssh
|
||||||
chmod 700 ~/.ssh
|
chmod 700 ~/.ssh
|
||||||
|
|
||||||
ssh-keyscan gitlab.com >> ~/.ssh/known_hosts
|
echo "$DEPLOY_SSH_KEY" > ~/.ssh/id_ed25519
|
||||||
|
chmod 600 ~/.ssh/id_ed25519
|
||||||
|
|
||||||
|
# Set up remote host key fingerprint
|
||||||
|
echo "git.abstractnonsen.se ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIAufJTq206GOv0D8gHs2o3eDusLNWaB0U7JRhUYnux9B" >> ~/.ssh/known_hosts
|
||||||
chmod 644 ~/.ssh/known_hosts
|
chmod 644 ~/.ssh/known_hosts
|
||||||
|
|
||||||
git config --global user.email "git@maximilian-kessler.de"
|
git config --global user.email "git@maximilian-kessler.de"
|
||||||
git config --global user.name "Maximilian Keßler (via gitlab runner)"
|
git config --global user.name "Maximilian Keßler (via gitlab runner)"
|
||||||
|
|
||||||
|
echo "Successfully added ssh deploy keys"
|
||||||
|
|
|
@ -14,6 +14,6 @@ def get_deploy_message(repo):
|
||||||
"\n" \
|
"\n" \
|
||||||
"Build branch {branch} ({hexsha}) from {repo_name}" \
|
"Build branch {branch} ({hexsha}) from {repo_name}" \
|
||||||
.format(old_msg=old_msg,
|
.format(old_msg=old_msg,
|
||||||
branch=os.environ['CI_COMMIT_REF_NAME'],
|
branch=os.environ['REF_NAME'],
|
||||||
hexsha=get_latest_commit(repo).hexsha[0:7],
|
hexsha=get_latest_commit(repo).hexsha[0:7],
|
||||||
repo_name='kesslermaximilian/LatexPackages')
|
repo_name='latex/latex-packages')
|
||||||
|
|
14
.ci/deploy_to_build_repo.sh
Executable file
14
.ci/deploy_to_build_repo.sh
Executable file
|
@ -0,0 +1,14 @@
|
||||||
|
set -e
|
||||||
|
|
||||||
|
# set up deploy message
|
||||||
|
cd .ci
|
||||||
|
export COMMIT_MSG=$(python3 print_deploy_message.py)
|
||||||
|
cd ..
|
||||||
|
|
||||||
|
# push pages to build repository
|
||||||
|
cd build/packages
|
||||||
|
git add .
|
||||||
|
git commit -m "${COMMIT_MSG}" || echo "Nothing new to commit"
|
||||||
|
git remote set-url origin --push git@git.abstractnonsen.se:latex/latex-packages-build
|
||||||
|
git push --set-upstream origin ${REF_NAME}-build
|
||||||
|
cd ../..
|
|
@ -1,13 +1,13 @@
|
||||||
# ! /bin/sh
|
# ! /bin/sh
|
||||||
set -e
|
set -e
|
||||||
ssh git@gitlab.com
|
|
||||||
git clone git@gitlab.com:latexci/packages/LatexPackagesBuild.git build/LatexPackagesBuild
|
cd build/packages
|
||||||
cd build/LatexPackagesBuild
|
|
||||||
REMOTE_BRANCH=$(git branch -a | sed -n '/remotes\/origin\/.*-build/p' | sed 's/remotes\/origin\///g' | sed 's/-build//g' | sed 's/[[:space:]]//g' | sed -n "/^${CI_COMMIT_REF_NAME}$/p")
|
REMOTE_BRANCH=$(git branch -a | sed -n '/remotes\/origin\/.*-build/p' | sed 's/remotes\/origin\///g' | sed 's/-build//g' | sed 's/[[:space:]]//g' | sed -n "/^${REF_NAME}$/p")
|
||||||
|
|
||||||
echo ${REMOTE_BRANCH}
|
echo ${REMOTE_BRANCH}
|
||||||
|
|
||||||
if [ "$REMOTE_BRANCH" = "" ];then
|
if [ "$REMOTE_BRANCH" = "" ]; then
|
||||||
echo "This is the first build on this branch, creating new branch in build repository to push to"
|
echo "This is the first build on this branch, creating new branch in build repository to push to"
|
||||||
git checkout --orphan ${CI_COMMIT_REF_NAME}-build
|
git checkout --orphan ${CI_COMMIT_REF_NAME}-build
|
||||||
ls -ra | sed '/^\.git$/d' | sed '/^\.\.$/d' | sed '/^\.$/d' | xargs -r git rm --cached
|
ls -ra | sed '/^\.git$/d' | sed '/^\.\.$/d' | sed '/^\.$/d' | xargs -r git rm --cached
|
81
.gitea/workflows/build.yaml
Normal file
81
.gitea/workflows/build.yaml
Normal file
|
@ -0,0 +1,81 @@
|
||||||
|
name: Build LaTeX packages
|
||||||
|
on: [push]
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
build:
|
||||||
|
runs-on: latex-latest
|
||||||
|
steps:
|
||||||
|
- name: Checkout repository
|
||||||
|
uses: actions/checkout@v4
|
||||||
|
with:
|
||||||
|
submodules: recursive
|
||||||
|
fetch-depth: 0 # We need all history to correctly parse tag names
|
||||||
|
fetch-tags: true
|
||||||
|
- name: Setup git credentials and committer
|
||||||
|
run: .ci/configure_git.sh
|
||||||
|
env:
|
||||||
|
DEPLOY_SSH_KEY: ${{ secrets.deploy_ssh_key }}
|
||||||
|
- name: Clone build repository
|
||||||
|
uses: actions/checkout@v4
|
||||||
|
with:
|
||||||
|
repository: latex/latex-packages-build
|
||||||
|
path: build/packages
|
||||||
|
ref: master
|
||||||
|
- name: Checkout correct branch in build repository
|
||||||
|
run: |
|
||||||
|
.ci/setup_build_repo_branch.sh
|
||||||
|
env:
|
||||||
|
REF_NAME: ${{ github.ref_name }}
|
||||||
|
- name: Build packages incrementally
|
||||||
|
run: make
|
||||||
|
- name: Push packages to build repo
|
||||||
|
run: |
|
||||||
|
.ci/deploy_to_build_repo.sh
|
||||||
|
env:
|
||||||
|
REF_NAME: ${{ github.ref_name }}
|
||||||
|
- name: Clean up git files from build repo
|
||||||
|
if: github.ref == 'refs/heads/master'
|
||||||
|
run: rm -rf build/packages/.git
|
||||||
|
- name: Save built packages to cache
|
||||||
|
if: github.ref == 'refs/heads/master'
|
||||||
|
uses: actions/cache/save@v3
|
||||||
|
with:
|
||||||
|
path: build/packages/
|
||||||
|
key: ${{ github.ref }}-packages
|
||||||
|
|
||||||
|
pages:
|
||||||
|
runs-on: latex-latest
|
||||||
|
needs: build
|
||||||
|
if: github.ref == 'refs/heads/master'
|
||||||
|
steps:
|
||||||
|
- name: Checkout repository
|
||||||
|
uses: actions/checkout@v4
|
||||||
|
- name: Load package cache
|
||||||
|
uses: actions/cache/restore@v3
|
||||||
|
with:
|
||||||
|
path: build/packages/
|
||||||
|
key: ${{ github.ref }}-packages
|
||||||
|
- name: Load compilation cache
|
||||||
|
uses: actions/cache/restore@v3
|
||||||
|
with:
|
||||||
|
path: .compile
|
||||||
|
key: ${{ github.ref }}-doc
|
||||||
|
- name: Compile documentation
|
||||||
|
run: make doc
|
||||||
|
env:
|
||||||
|
TEXINPUTS: '${{ github.workspace }}/build/packages//:'
|
||||||
|
- name: Prepage pages
|
||||||
|
run: |
|
||||||
|
cd build
|
||||||
|
rm -rf packages/.git # Don't deploy the git files
|
||||||
|
zip -r latex-packages.zip packages/ -x '*.git*'
|
||||||
|
zip -r latex-packages-doc.zip doc/
|
||||||
|
- name: Deploy to pages
|
||||||
|
uses: actions/pages@v1
|
||||||
|
with:
|
||||||
|
directory: build/
|
||||||
|
- name: Upload compilation cache
|
||||||
|
uses: actions/cache/save@v3
|
||||||
|
with:
|
||||||
|
path: .compile
|
||||||
|
key: ${{ github.ref }}-doc
|
|
@ -1,44 +0,0 @@
|
||||||
stages:
|
|
||||||
- get
|
|
||||||
- build
|
|
||||||
- pages
|
|
||||||
|
|
||||||
get-build-repo:
|
|
||||||
stage: get
|
|
||||||
before_script:
|
|
||||||
- source .ci/configure_git.sh
|
|
||||||
script:
|
|
||||||
- echo "Getting old Build repo..."
|
|
||||||
- .ci/get_build_repo_from_origin.sh
|
|
||||||
artifacts:
|
|
||||||
paths:
|
|
||||||
- build/
|
|
||||||
tags:
|
|
||||||
- latex
|
|
||||||
|
|
||||||
build-packages:
|
|
||||||
stage: build
|
|
||||||
before_script:
|
|
||||||
- source .ci/configure_git.sh
|
|
||||||
script:
|
|
||||||
- echo "Building packages incrementally..."
|
|
||||||
- sh .ci/ci_build.sh
|
|
||||||
variables:
|
|
||||||
GIT_SUBMODULE_STRATEGY: recursive
|
|
||||||
artifacts:
|
|
||||||
paths:
|
|
||||||
- build/
|
|
||||||
tags:
|
|
||||||
- latex
|
|
||||||
|
|
||||||
pages:
|
|
||||||
stage: pages
|
|
||||||
artifacts:
|
|
||||||
paths:
|
|
||||||
- public/
|
|
||||||
script:
|
|
||||||
- mv build/ public/
|
|
||||||
tags:
|
|
||||||
- latex
|
|
||||||
only:
|
|
||||||
- master
|
|
35
Makefile
35
Makefile
|
@ -1,12 +1,30 @@
|
||||||
|
# Makefile for latex-packages
|
||||||
|
|
||||||
|
BUILD_DIR=build
|
||||||
|
DOC_SUBDIR=doc
|
||||||
|
PACKAGES_SUBDIR=packages
|
||||||
|
COMPILE_SUBDIR=.compile
|
||||||
BUILD_FLAGS=--recursive --git-version --pytex-version --license --author "Maximilian Keßler" --pytex-info-text --extra-header ".build/header_info.txt" --name "prepend-author" --clean-old-files
|
BUILD_FLAGS=--recursive --git-version --pytex-version --license --author "Maximilian Keßler" --pytex-info-text --extra-header ".build/header_info.txt" --name "prepend-author" --clean-old-files
|
||||||
BUILD_DIRS= --source-dir src --build-dir build
|
|
||||||
|
|
||||||
|
ROOT=$(shell pwd)
|
||||||
|
BUILD_ROOT=${ROOT}/${BUILD_DIR}
|
||||||
|
|
||||||
|
|
||||||
|
# Build packages
|
||||||
build: .initsubmodulelock
|
build: .initsubmodulelock
|
||||||
@python3 build.py ${BUILD_DIRS} ${BUILD_FLAGS}
|
python3 build.py --source-dir src --build-dir ${BUILD_ROOT}/${PACKAGES_SUBDIR} ${BUILD_FLAGS}
|
||||||
|
|
||||||
|
# Build packages and allow repo to be dirty (use with caution and only when developing)
|
||||||
dirty: .initsubmodulelock
|
dirty: .initsubmodulelock
|
||||||
@python3 build.py ${BUILD_DIRS} ${BUILD_FLAGS} --allow-dirty
|
python3 build.py --source-dir src --build-dir ${BUILD_ROOT}/${PACKAGES_SUBDIR} ${BUILD_FLAGS} --allow-dirty
|
||||||
|
|
||||||
|
# generate documentation files from /doc
|
||||||
|
doc:
|
||||||
|
@scripts/compile_doc.sh
|
||||||
|
@mkdir -p ${BUILD_ROOT}/${DOC_SUBDIR}
|
||||||
|
@cp .compile/*.pdf ${BUILD_ROOT}/${DOC_SUBDIR}
|
||||||
|
@echo Documentation files written to ${BUILD_ROOT}/${DOC_SUBDIR}
|
||||||
|
|
||||||
init: .initsubmodulelock .gitconfiglock
|
init: .initsubmodulelock .gitconfiglock
|
||||||
|
|
||||||
config: .gitconfiglock
|
config: .gitconfiglock
|
||||||
|
@ -27,12 +45,9 @@ all: clean build
|
||||||
|
|
||||||
clean:
|
clean:
|
||||||
@-rm -r build/
|
@-rm -r build/
|
||||||
|
@-rm -r .compile/
|
||||||
ci-build:
|
|
||||||
@python3 build.py --source-dir src --build-dir build/LatexPackagesBuild ${BUILD_FLAGS}
|
|
||||||
|
|
||||||
doc:
|
|
||||||
@-rm -r build/documentation
|
|
||||||
$(MAKE) -C doc central-doc
|
|
||||||
|
|
||||||
.PHONY: build doc
|
.PHONY: build doc
|
||||||
|
#!/bin/bash
|
||||||
|
# Compiles all correspondence letters in repository
|
||||||
|
|
||||||
|
|
12
README.md
12
README.md
|
@ -11,11 +11,11 @@ Mostly, they are available as a repository so that
|
||||||
- This motivates me to keep things organized
|
- This motivates me to keep things organized
|
||||||
|
|
||||||
## Usage
|
## Usage
|
||||||
If you want to use these, just clone [LatexPackagesBuild](https://gitlab.com/latexci/packages/LatexPackagesBuild) into your `~/texmf/tex/latex` directory, and you are ready to go.
|
If you want to use these, just clone [latex-packages-build][lp-build] into your `~/texmf/tex/latex` directory, and you are ready to go.
|
||||||
The builds are also available as single files or as zip at [GitLab pages](https://latexci.gitlab.io/packages/LatexPackages).
|
The builds are also available as single files or as zip at the [pages][pages].
|
||||||
|
|
||||||
## Documentation
|
## Documentation
|
||||||
See the `documentation` folder (or zip file) at [GitLab pages](https://latexci.gitlab.io/packages/LatexPackages) for documentation to most of the packages.
|
See the `documentation` folder (or zip file) at [pages][pages] for documentation to most of the packages.
|
||||||
|
|
||||||
## Bugs
|
## Bugs
|
||||||
As already mentioned, not all of these are intended for generic use. If you however feel like this should be the case, feel free to point out bugs or troubles when using these here at GitHub or to me directly.
|
As already mentioned, not all of these are intended for generic use. If you however feel like this should be the case, feel free to point out bugs or troubles when using these here at GitHub or to me directly.
|
||||||
|
@ -27,3 +27,9 @@ Feel free to send pull requests if you have suggestions for improvements.
|
||||||
This is free software.
|
This is free software.
|
||||||
Prior to version 2.6 this has been MIT-licensed. Starting with version 1.6 this is licensed under the LPPL and/or the GPLv3.
|
Prior to version 2.6 this has been MIT-licensed. Starting with version 1.6 this is licensed under the LPPL and/or the GPLv3.
|
||||||
See `LICENSE.md` for further details.
|
See `LICENSE.md` for further details.
|
||||||
|
|
||||||
|
The `quiver.sty` package here is taken from [varkor/quiver][quiver] and licensed under the MIT License. It is redistributed unchanged for dependency reasons of my projects.
|
||||||
|
|
||||||
|
[pages]: https://latex.users.abstractnonsen.se/latex-packages
|
||||||
|
[lp-build]: https://git.abstractnonsen.se/latex/latex-packages-build
|
||||||
|
[quiver]: https://github.com/varkor/quiver
|
||||||
|
|
|
@ -1,12 +0,0 @@
|
||||||
TOPTARGETS := all clean doc full central-doc
|
|
||||||
|
|
||||||
SUBDIRS := $(wildcard */.)
|
|
||||||
|
|
||||||
$(TOPTARGETS): $(SUBDIRS)
|
|
||||||
$(SUBDIRS):
|
|
||||||
$(MAKE) -C $@ $(MAKECMDGOALS)
|
|
||||||
|
|
||||||
central-doc: $(SUBDIRS)
|
|
||||||
mv *.pdf ..
|
|
||||||
|
|
||||||
.PHONY: $(TOPTARGETS) $(SUBDIRS)
|
|
|
@ -1,11 +0,0 @@
|
||||||
doc:
|
|
||||||
latexmk
|
|
||||||
|
|
||||||
full:
|
|
||||||
latexmk -gg
|
|
||||||
|
|
||||||
clean:
|
|
||||||
latexmk -C
|
|
||||||
|
|
||||||
central-doc: full
|
|
||||||
mv *.pdf ..
|
|
|
@ -1,3 +1,10 @@
|
||||||
|
# This is the .latexmkrc file that needs to be used for compiling the documentation
|
||||||
|
# Note that the makeindex command is non-standard and follows the LaTeX3 architecture
|
||||||
|
# Without this, generating the indexes properly will not work and leads to compiling
|
||||||
|
# errors.
|
||||||
|
# When adding new packages, this should be symlinked to in each new directory,
|
||||||
|
# so that a call to latexmk will automatically use these options
|
||||||
|
|
||||||
$makeindex = 'makeindex -s gind.ist %O -o %D %S';
|
$makeindex = 'makeindex -s gind.ist %O -o %D %S';
|
||||||
$clean_ext .= ' glo';
|
$clean_ext .= ' glo';
|
||||||
$clean_ext .= ' hd';
|
$clean_ext .= ' hd';
|
||||||
|
|
13
doc/Makefile
13
doc/Makefile
|
@ -1,13 +0,0 @@
|
||||||
TOPTARGETS := all clean doc full central-doc
|
|
||||||
|
|
||||||
SUBDIRS := $(wildcard */.)
|
|
||||||
|
|
||||||
$(TOPTARGETS): $(SUBDIRS)
|
|
||||||
$(SUBDIRS):
|
|
||||||
$(MAKE) -C $@ $(MAKECMDGOALS)
|
|
||||||
|
|
||||||
central-doc: $(SUBDIRS)
|
|
||||||
mkdir -p ../build/documentation
|
|
||||||
mv *.pdf ../build/documentation
|
|
||||||
|
|
||||||
.PHONY: $(TOPTARGETS) $(SUBDIRS)
|
|
|
@ -1 +0,0 @@
|
||||||
../DIR_MAKEFILE
|
|
|
@ -1 +0,0 @@
|
||||||
../../DOC_MAKEFILE
|
|
|
@ -1 +0,0 @@
|
||||||
../../DOC_MAKEFILE
|
|
|
@ -1 +0,0 @@
|
||||||
../../DOC_MAKEFILE
|
|
|
@ -1 +0,0 @@
|
||||||
../../DOC_MAKEFILE
|
|
|
@ -1 +0,0 @@
|
||||||
../DIR_MAKEFILE
|
|
|
@ -1 +0,0 @@
|
||||||
../../DOC_MAKEFILE
|
|
|
@ -1 +0,0 @@
|
||||||
../../DOC_MAKEFILE
|
|
|
@ -1 +0,0 @@
|
||||||
../DIR_MAKEFILE
|
|
|
@ -1 +0,0 @@
|
||||||
../../DOC_MAKEFILE
|
|
|
@ -1 +0,0 @@
|
||||||
../../DOC_MAKEFILE
|
|
|
@ -1 +0,0 @@
|
||||||
../../DOC_MAKEFILE
|
|
|
@ -1 +0,0 @@
|
||||||
../../DOC_MAKEFILE
|
|
|
@ -1 +0,0 @@
|
||||||
../../DOC_MAKEFILE
|
|
|
@ -1 +0,0 @@
|
||||||
../../DOC_MAKEFILE
|
|
|
@ -1 +0,0 @@
|
||||||
../../DOC_MAKEFILE
|
|
|
@ -1 +0,0 @@
|
||||||
../../DOC_MAKEFILE
|
|
|
@ -1 +0,0 @@
|
||||||
../DIR_MAKEFILE
|
|
|
@ -1 +0,0 @@
|
||||||
../../DOC_MAKEFILE
|
|
|
@ -1 +0,0 @@
|
||||||
../../DOC_MAKEFILE
|
|
|
@ -1 +0,0 @@
|
||||||
../../DOC_MAKEFILE
|
|
|
@ -1 +0,0 @@
|
||||||
../../DOC_MAKEFILE
|
|
|
@ -1 +0,0 @@
|
||||||
../../DOC_MAKEFILE
|
|
|
@ -1 +0,0 @@
|
||||||
../../DOC_MAKEFILE
|
|
8
scripts/compile_doc.sh
Executable file
8
scripts/compile_doc.sh
Executable file
|
@ -0,0 +1,8 @@
|
||||||
|
#! /bin/bash
|
||||||
|
# Compiles all documentation files in repository
|
||||||
|
|
||||||
|
set -e
|
||||||
|
|
||||||
|
BUILD_COMMAND="latexmk -output-directory=$(pwd)/.compile $1"
|
||||||
|
|
||||||
|
find doc -type f -name "*.tex" -execdir sh -c "$BUILD_COMMAND" -- {} \;
|
|
@ -1,10 +0,0 @@
|
||||||
pdf:
|
|
||||||
latexmk
|
|
||||||
|
|
||||||
full:
|
|
||||||
latexmk -gg
|
|
||||||
|
|
||||||
clean:
|
|
||||||
latexmk -C
|
|
||||||
|
|
||||||
.PHONY: clean
|
|
|
@ -64,7 +64,6 @@
|
||||||
% \subsection{Dependencies}
|
% \subsection{Dependencies}
|
||||||
% \begin{macrocode}
|
% \begin{macrocode}
|
||||||
\RequirePackage{l3keys2e}
|
\RequirePackage{l3keys2e}
|
||||||
\RequirePackage{groupthm}
|
|
||||||
\RequirePackage[default styles]{thmstyle}
|
\RequirePackage[default styles]{thmstyle}
|
||||||
% \end{macrocode}
|
% \end{macrocode}
|
||||||
%
|
%
|
||||||
|
@ -238,10 +237,21 @@
|
||||||
% \cs{counter_alias:nn}\marg{counter_1}\marg{counter_2}
|
% \cs{counter_alias:nn}\marg{counter_1}\marg{counter_2}
|
||||||
% \end{syntax}
|
% \end{syntax}
|
||||||
%
|
%
|
||||||
%
|
% Note that since 2022-06-02, the implementation of \cs{@counteralias}
|
||||||
|
% in \pkg{thmtools} has changed.
|
||||||
|
% Before, aliasing an already existing counter did not throw an error,
|
||||||
|
% which is considered a bug now
|
||||||
|
% (\href{https://github.com/muzimuzhi/thmtools/issues/28}{https://github.com/muzimuzhi/thmtools/issues/28}).
|
||||||
|
% Since \pkg{!!} relies on the old functionality,
|
||||||
|
% we adapt this here by undefining \cs{c@\meta{countername}} before calling
|
||||||
|
% \cs{@counteralias}.
|
||||||
%
|
%
|
||||||
% \begin{macrocode}
|
% \begin{macrocode}
|
||||||
\cs_set_eq:Nc \counter_alias:nn { @counteralias }
|
\cs_new:Npn \counter_alias:nn #1 % trailing #2
|
||||||
|
{
|
||||||
|
\cs_undefine:c { c@ #1 }
|
||||||
|
\use:c { @counteralias } { #1 } % implicit #2
|
||||||
|
}
|
||||||
\cs_generate_variant:Nn \counter_alias:nn { n x }
|
\cs_generate_variant:Nn \counter_alias:nn { n x }
|
||||||
% \end{macrocode}
|
% \end{macrocode}
|
||||||
% \end{macro}
|
% \end{macro}
|
||||||
|
@ -348,6 +358,22 @@
|
||||||
\clist_new:N \l_@@_group_clist
|
\clist_new:N \l_@@_group_clist
|
||||||
% \end{macrocode}
|
% \end{macrocode}
|
||||||
% \end{variable}
|
% \end{variable}
|
||||||
|
%
|
||||||
|
%
|
||||||
|
%
|
||||||
|
% \begin{variable}{\g_@@_groupthm_option_clist}
|
||||||
|
%
|
||||||
|
%
|
||||||
|
%
|
||||||
|
% \begin{macrocode}
|
||||||
|
\clist_new:N \g_@@_groupthm_option_clist
|
||||||
|
% \end{macrocode}
|
||||||
|
% \end{variable}
|
||||||
|
%
|
||||||
|
%
|
||||||
|
%
|
||||||
|
%
|
||||||
|
%
|
||||||
%
|
%
|
||||||
% \subsection{Key interface}
|
% \subsection{Key interface}
|
||||||
%
|
%
|
||||||
|
@ -362,22 +388,32 @@
|
||||||
% \begin{macrocode}
|
% \begin{macrocode}
|
||||||
\keys_define:nn { fancythm }
|
\keys_define:nn { fancythm }
|
||||||
{
|
{
|
||||||
translator .bool_set:N = \g_@@_translator_bool ,
|
translator .bool_set:N = \g_@@_translator_bool ,
|
||||||
translator .default:n = { true } ,
|
translator .default:n = { true } ,
|
||||||
generate defaults .bool_set:N = \g_@@_generate_defaults_bool ,
|
generate defaults .bool_set:N = \g_@@_generate_defaults_bool ,
|
||||||
generate defaults .default:n = { true } ,
|
generate defaults .default:n = { true } ,
|
||||||
number in .choices:nn =
|
number in .choices:nn =
|
||||||
{ document, section, subsection, chapter, part }
|
{ document, section, subsection, chapter, part }
|
||||||
{
|
{
|
||||||
\counter_alias:nx { toplevel } { in \tl_use:N \l_keys_choice_tl }
|
\counter_alias:nx { toplevel } { in \tl_use:N \l_keys_choice_tl }
|
||||||
} ,
|
} ,
|
||||||
number in .default:n = { document } ,
|
number in .default:n = { document } ,
|
||||||
style .choices:nn =
|
style .choices:nn =
|
||||||
{ fancy, plain, classic }
|
{ fancy, plain, classic }
|
||||||
{
|
{
|
||||||
\str_set:Nn \g_@@_style_str { \tl_use:N \l_keys_choice_tl }
|
\str_set:Nn \g_@@_style_str { \tl_use:N \l_keys_choice_tl }
|
||||||
} ,
|
} ,
|
||||||
style .default:n = { fancy } ,
|
style .default:n = { fancy } ,
|
||||||
|
cache .code:n =
|
||||||
|
{
|
||||||
|
\clist_put_right:Nn \g_@@_groupthm_option_clist { cache = #1 }
|
||||||
|
} ,
|
||||||
|
cache .default:n = { true } ,
|
||||||
|
cache version .code:n =
|
||||||
|
{
|
||||||
|
\clist_put_right:Nn \g_@@_groupthm_option_clist { cache version = #1 }
|
||||||
|
} ,
|
||||||
|
cache version .default:n = { 0 } ,
|
||||||
}
|
}
|
||||||
% \end{macrocode}
|
% \end{macrocode}
|
||||||
%
|
%
|
||||||
|
@ -408,6 +444,26 @@
|
||||||
\ProcessKeysOptions{ fancythm }
|
\ProcessKeysOptions{ fancythm }
|
||||||
% \end{macrocode}
|
% \end{macrocode}
|
||||||
%
|
%
|
||||||
|
|
||||||
|
|
||||||
|
% \begin{macro}{\@@_require_package:nn}
|
||||||
|
%
|
||||||
|
%
|
||||||
|
% \begin{macrocode}
|
||||||
|
\cs_new:Npn \@@_require_package:nn #1
|
||||||
|
{
|
||||||
|
\RequirePackage [ #1 ]
|
||||||
|
}
|
||||||
|
\cs_generate_variant:Nn \@@_require_package:nn { V n }
|
||||||
|
% \end{macrocode}
|
||||||
|
% \end{macro}
|
||||||
|
%
|
||||||
|
%
|
||||||
|
%
|
||||||
|
%
|
||||||
|
% \begin{macrocode}
|
||||||
|
\@@_require_package:Vn \g_@@_groupthm_option_clist { groupthm }
|
||||||
|
% \end{macrocode}
|
||||||
%
|
%
|
||||||
%
|
%
|
||||||
%
|
%
|
||||||
|
@ -470,7 +526,7 @@
|
||||||
}
|
}
|
||||||
\tl_set:Nx \l_@@_name_tl
|
\tl_set:Nx \l_@@_name_tl
|
||||||
{
|
{
|
||||||
\exp_not:N \@@_translate:n { \tl_use:N \l_@@_name_tl }
|
\exp_not:N \csname @@_translate:n \exp_not:N \endcsname { \tl_use:N \l_@@_name_tl }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
% \end{macrocode}
|
% \end{macrocode}
|
||||||
|
@ -521,18 +577,22 @@
|
||||||
{ new, provide }
|
{ new, provide }
|
||||||
{ fancythm_#1_theorem:nnnn }
|
{ fancythm_#1_theorem:nnnn }
|
||||||
{
|
{
|
||||||
\use:c { groupthm_#1_family:nnnnn } { ##1 } { dagger, star } { ##3 } { ##4 } { ##2 }
|
\use:c { groupthm_#1_family:nnnnn } { ##1 } { dagger, star, nobraces } { ##3 } { ##4 } { ##2 }
|
||||||
\use:c { groupthm_#1_family_options:nnnn }
|
\use:c { groupthm_#1_family_options:nnnn }
|
||||||
{ ##1 }
|
{ ##1 }
|
||||||
{ !s !t+ }
|
{ !s !t+ !t-}
|
||||||
{
|
{
|
||||||
\IfBooleanT { ####1 }
|
\IfBooleanT { ####1 }
|
||||||
{
|
{
|
||||||
\groupthm_add_theorem_to_group:n { star }
|
\AddTheoremToGroup { star }
|
||||||
}
|
}
|
||||||
\IfBooleanT { ####2 }
|
\IfBooleanT { ####2 }
|
||||||
{
|
{
|
||||||
\groupthm_add_theorem_to_group:n { dagger }
|
\AddTheoremToGroup { dagger }
|
||||||
|
}
|
||||||
|
\IfBooleanT { ####3 }
|
||||||
|
{
|
||||||
|
\AddTheoremToGroup { nobraces }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
{ ##2 }
|
{ ##2 }
|
||||||
|
@ -641,12 +701,14 @@
|
||||||
%
|
%
|
||||||
%
|
%
|
||||||
% \begin{macrocode}
|
% \begin{macrocode}
|
||||||
|
\declaretheoremstyle[notebraces={{}{}}]{nobraces}
|
||||||
\groupthm_new_group:nnnnn { star } { } { * } { } { }
|
\groupthm_new_group:nnnnn { star } { } { * } { } { }
|
||||||
\groupthm_new_group:nnnnn { dagger } { } { $^{\dagger}$ } { } { }
|
\groupthm_new_group:nnnnn { dagger } { } { $^{\dagger}$ } { } { }
|
||||||
\groupthm_new_group:nnnnn { big } { } { } { } { sibling = toplevel }
|
\groupthm_new_group:nnnnn { big } { } { } { } { sibling = toplevel }
|
||||||
\groupthm_new_group:nnnnn { small } { } { } { } { sibling = sublevel }
|
\groupthm_new_group:nnnnn { small } { } { } { } { sibling = sublevel }
|
||||||
\groupthm_new_group:nnnnn { tiny } { } { } { } { numbered = no }
|
\groupthm_new_group:nnnnn { tiny } { } { } { } { numbered = no }
|
||||||
\groupthm_new_group:nnnnn { custom } { } { } { } { sibling = sublevel }
|
\groupthm_new_group:nnnnn { custom } { } { } { } { sibling = sublevel }
|
||||||
|
\groupthm_new_group:nnnnn { nobraces } { } { } { } { style = nobraces }
|
||||||
% \end{macrocode}
|
% \end{macrocode}
|
||||||
% \end{variable}
|
% \end{variable}
|
||||||
%
|
%
|
||||||
|
@ -843,6 +905,7 @@
|
||||||
\fancythm_provide_tiny_theorem:nn { } { reminder }
|
\fancythm_provide_tiny_theorem:nn { } { reminder }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
\DeclareHookRule { begindocument / before } { groupthm } { after } { fancythm }
|
||||||
% \end{macrocode}
|
% \end{macrocode}
|
||||||
%
|
%
|
||||||
%
|
%
|
||||||
|
|
|
@ -1,10 +0,0 @@
|
||||||
pdf:
|
|
||||||
latexmk
|
|
||||||
|
|
||||||
full:
|
|
||||||
latexmk -gg
|
|
||||||
|
|
||||||
clean:
|
|
||||||
latexmk -C
|
|
||||||
|
|
||||||
.PHONY: clean
|
|
|
@ -23,7 +23,7 @@
|
||||||
% https://www.latex-project.org/lppl.txt
|
% https://www.latex-project.org/lppl.txt
|
||||||
%
|
%
|
||||||
% -----------------------------------------------------------------------
|
% -----------------------------------------------------------------------
|
||||||
%<package>\ProvidesExplPackage{groupthm}{2022/01/17}{0.0.1}{Grouped theorems.}
|
%<package>\ProvidesExplPackage{groupthm}{2022/02/02}{0.0.2}{Grouped theorems.}
|
||||||
%
|
%
|
||||||
%<*driver>
|
%<*driver>
|
||||||
\documentclass[full,kernel]{l3doc}
|
\documentclass[full,kernel]{l3doc}
|
||||||
|
@ -836,6 +836,10 @@
|
||||||
% \begin{macrocode}
|
% \begin{macrocode}
|
||||||
\RequirePackage{amsthm}
|
\RequirePackage{amsthm}
|
||||||
\RequirePackage{thmtools}
|
\RequirePackage{thmtools}
|
||||||
|
%<*benchmark>
|
||||||
|
\RequirePackage{l3benchmark}
|
||||||
|
%</benchmark>
|
||||||
|
\RequirePackage{l3keys2e}
|
||||||
% \end{macrocode}
|
% \end{macrocode}
|
||||||
%
|
%
|
||||||
% \begin{macro}{\@@_thmtools_declare_theorem:nn, \@@_thmtools_declare_theorem:Vn}
|
% \begin{macro}{\@@_thmtools_declare_theorem:nn, \@@_thmtools_declare_theorem:Vn}
|
||||||
|
@ -844,12 +848,18 @@
|
||||||
% \end{syntax}
|
% \end{syntax}
|
||||||
%
|
%
|
||||||
% This is just a private wrapper around \cs{declaretheorem} of the \pkg{thmtools} package.
|
% This is just a private wrapper around \cs{declaretheorem} of the \pkg{thmtools} package.
|
||||||
|
%
|
||||||
|
% We additionally cache
|
||||||
%
|
%
|
||||||
% \begin{macrocode}
|
% \begin{macrocode}
|
||||||
\cs_new:Npn \@@_thmtools_declare_theorem:nn #1 #2
|
\cs_new:Npn \@@_thmtools_declare_theorem:nn #1 #2
|
||||||
{
|
{
|
||||||
\tl_log:n { Declaring ~ thmtools ~ theorem ~ #2 }
|
\tl_log:n { Declaring ~ thmtools ~ theorem ~ #2 }
|
||||||
\declaretheorem [ #1 ] { #2 }
|
\declaretheorem [ #1 ] { #2 }
|
||||||
|
\@@_cache:n
|
||||||
|
{
|
||||||
|
\csname @@_thmtools_declare_theorem:nn \endcsname { #1 } { #2 }
|
||||||
|
}
|
||||||
}
|
}
|
||||||
\cs_generate_variant:Nn \@@_thmtools_declare_theorem:nn { V n }
|
\cs_generate_variant:Nn \@@_thmtools_declare_theorem:nn { V n }
|
||||||
% \end{macrocode}
|
% \end{macrocode}
|
||||||
|
@ -857,6 +867,7 @@
|
||||||
%
|
%
|
||||||
%
|
%
|
||||||
%
|
%
|
||||||
|
%
|
||||||
% It also comes in handy to have a stronger version of the
|
% It also comes in handy to have a stronger version of the
|
||||||
% hook role setting mechanism:
|
% hook role setting mechanism:
|
||||||
% \begin{macro}{\@@_hook_gset_rule_foreach:nNnn}
|
% \begin{macro}{\@@_hook_gset_rule_foreach:nNnn}
|
||||||
|
@ -1047,6 +1058,10 @@
|
||||||
\bool_new:N \l_@@_in_family_options_environment_bool
|
\bool_new:N \l_@@_in_family_options_environment_bool
|
||||||
% \end{macrocode}
|
% \end{macrocode}
|
||||||
% \end{variable}
|
% \end{variable}
|
||||||
|
%
|
||||||
|
%
|
||||||
|
%
|
||||||
|
%
|
||||||
% \begin{variable}{\g_@@_append_groups_int}
|
% \begin{variable}{\g_@@_append_groups_int}
|
||||||
%
|
%
|
||||||
% This counts the number of times we appended to a group.
|
% This counts the number of times we appended to a group.
|
||||||
|
@ -1055,6 +1070,63 @@
|
||||||
\int_new:N \g_@@_append_groups_int
|
\int_new:N \g_@@_append_groups_int
|
||||||
% \end{macrocode}
|
% \end{macrocode}
|
||||||
% \end{variable}
|
% \end{variable}
|
||||||
|
%
|
||||||
|
%
|
||||||
|
%
|
||||||
|
%
|
||||||
|
% \begin{variable}{\g_@@_cache_bool}
|
||||||
|
%
|
||||||
|
% This stores whether we cache definitions in the aux file.
|
||||||
|
%
|
||||||
|
% \begin{macrocode}
|
||||||
|
\bool_new:N \g_@@_cache_bool
|
||||||
|
% \end{macrocode}
|
||||||
|
% \end{variable}
|
||||||
|
%
|
||||||
|
%
|
||||||
|
%
|
||||||
|
% \begin{variable}{\g_@@_cache_version_aux_int, \g_@@_cache_version_document_int}
|
||||||
|
%
|
||||||
|
% The version of the cached theorems in the aux file
|
||||||
|
% and the version the package has been loaded with.
|
||||||
|
%
|
||||||
|
% \begin{macrocode}
|
||||||
|
\int_new:N \g_@@_cache_version_aux_int
|
||||||
|
\int_new:N \g_@@_cache_version_document_int
|
||||||
|
\int_set:Nn \g_@@_cache_version_aux_int { -1 }
|
||||||
|
% \end{macrocode}
|
||||||
|
% \end{variable}
|
||||||
|
%
|
||||||
|
%
|
||||||
|
%
|
||||||
|
% \begin{variable}{\g_@@_lazy_document_tl, \g_@@_lazy_auxfile_tl}
|
||||||
|
%
|
||||||
|
% During the preamble, if in caching mode, we will collect definitions for
|
||||||
|
% theorems in these token lists. At the beginning of the document, we select the
|
||||||
|
% proper one.
|
||||||
|
%
|
||||||
|
% \begin{macrocode}
|
||||||
|
\tl_new:N \g_@@_lazy_document_tl
|
||||||
|
\tl_new:N \g_@@_lazy_auxfile_tl
|
||||||
|
% \end{macrocode}
|
||||||
|
% \end{variable}
|
||||||
|
%
|
||||||
|
%
|
||||||
|
%
|
||||||
|
% \begin{variable}{\g_@@_dump_auxfile_clist, \g_@@_dump_cache_clist}
|
||||||
|
%
|
||||||
|
% With these, we collect stuff written to the aux file at the end of the document
|
||||||
|
%
|
||||||
|
% The \cs{g_@@_dump_cache_clist} will be treated specially:
|
||||||
|
% We will dump such that in a re-run of \LaTeX, the contents will
|
||||||
|
% be available for execution in the \cs{g_@@_lazy_auxfile_tl}
|
||||||
|
% \begin{macrocode}
|
||||||
|
\clist_new:N \g_@@_dump_auxfile_clist
|
||||||
|
\clist_new:N \g_@@_dump_cache_clist
|
||||||
|
% \end{macrocode}
|
||||||
|
% \end{variable}
|
||||||
|
%
|
||||||
|
%
|
||||||
%
|
%
|
||||||
%
|
%
|
||||||
% \subsection{Key interface}
|
% \subsection{Key interface}
|
||||||
|
@ -1068,6 +1140,14 @@
|
||||||
%
|
%
|
||||||
%
|
%
|
||||||
% \begin{macrocode}
|
% \begin{macrocode}
|
||||||
|
\keys_define:nn { groupthm }
|
||||||
|
{
|
||||||
|
cache .bool_set:N = \g_@@_cache_bool,
|
||||||
|
cache .default:n = { true },
|
||||||
|
__cache version__ .int_set:N = \g_@@_cache_version_document_int,
|
||||||
|
cache version .meta:nn = { groupthm } { cache = true, __cache version__ = #1 },
|
||||||
|
cache version .default:n = { 0 },
|
||||||
|
}
|
||||||
\keys_define:nn { groupthm / theorem ~ group }
|
\keys_define:nn { groupthm / theorem ~ group }
|
||||||
{
|
{
|
||||||
prefix .tl_set:N = \l_@@_key_prefix_tl,
|
prefix .tl_set:N = \l_@@_key_prefix_tl,
|
||||||
|
@ -1118,6 +1198,13 @@
|
||||||
}
|
}
|
||||||
% \end{macrocode}
|
% \end{macrocode}
|
||||||
%
|
%
|
||||||
|
%
|
||||||
|
%
|
||||||
|
% Process package options:
|
||||||
|
% \begin{macrocode}
|
||||||
|
\ProcessKeysOptions { groupthm }
|
||||||
|
% \end{macrocode}
|
||||||
|
%
|
||||||
%
|
%
|
||||||
% The only key whose default requires such handling is the \enquote{\texttt{name}} key,
|
% The only key whose default requires such handling is the \enquote{\texttt{name}} key,
|
||||||
% which will be set to a capitalized version of the environment name
|
% which will be set to a capitalized version of the environment name
|
||||||
|
@ -1573,14 +1660,17 @@
|
||||||
{
|
{
|
||||||
\cs_new:cn { #6 }
|
\cs_new:cn { #6 }
|
||||||
{
|
{
|
||||||
\@@_define:nnncNNn
|
\@@_lazy:n
|
||||||
{ ##1 }
|
{
|
||||||
{ #2 }
|
\@@_define:nnncNNn
|
||||||
{ ####1 }
|
{ ##1 }
|
||||||
{ #3 }
|
{ #2 }
|
||||||
#4
|
{ ####1 }
|
||||||
#5
|
{ #3 }
|
||||||
{ #7 }
|
#4
|
||||||
|
#5
|
||||||
|
{ #7 }
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
\clist_map_function:nN { #1 } \@@_map_aux:n
|
\clist_map_function:nN { #1 } \@@_map_aux:n
|
||||||
|
@ -1732,7 +1822,10 @@
|
||||||
{ \@@_Declarator: TheoremGroup }
|
{ \@@_Declarator: TheoremGroup }
|
||||||
{ O{} m }
|
{ O{} m }
|
||||||
{
|
{
|
||||||
\use:c { groupthm_#1 _group:nn } { ##1 } { ##2 }
|
\@@_lazy:n
|
||||||
|
{
|
||||||
|
\use:c { groupthm_#1 _group:nn } { ##1 } { ##2 }
|
||||||
|
}
|
||||||
}
|
}
|
||||||
% \end{macrocode}
|
% \end{macrocode}
|
||||||
% \end{macro}
|
% \end{macro}
|
||||||
|
@ -1755,21 +1848,24 @@
|
||||||
% \begin{macrocode}
|
% \begin{macrocode}
|
||||||
\cs_new:Npn \groupthm_declare_group_rule:nnnn #1 #2 #3 #4
|
\cs_new:Npn \groupthm_declare_group_rule:nnnn #1 #2 #3 #4
|
||||||
{
|
{
|
||||||
\str_set:Nx \l_tmpa_str { \tl_trim_spaces:n { #3 } }
|
\@@_lazy:n
|
||||||
\str_if_eq:VnT \l_tmpa_str { higher }
|
|
||||||
{
|
{
|
||||||
\str_set:Nn \l_tmpa_str { after }
|
\str_set:Nx \l_tmpa_str { \tl_trim_spaces:n { #3 } }
|
||||||
}
|
\str_if_eq:VnT \l_tmpa_str { higher }
|
||||||
\str_if_eq:VnT \l_tmpa_str { lower }
|
{
|
||||||
{
|
\str_set:Nn \l_tmpa_str { after }
|
||||||
\str_set:Nn \l_tmpa_str { before }
|
}
|
||||||
}
|
\str_if_eq:VnT \l_tmpa_str { lower }
|
||||||
\str_if_eq:nnTF { #1 } { ?? }
|
{
|
||||||
{
|
\str_set:Nn \l_tmpa_str { before }
|
||||||
\hook_gset_rule:nnVn {??} {#2} \l_tmpa_str {#4}
|
}
|
||||||
}
|
\str_if_eq:nnTF { #1 } { ?? }
|
||||||
{
|
{
|
||||||
\hook_gset_rule:nnVn { @@ / #1 } {#2} \l_tmpa_str {#4}
|
\hook_gset_rule:nnVn {??} {#2} \l_tmpa_str {#4}
|
||||||
|
}
|
||||||
|
{
|
||||||
|
\hook_gset_rule:nnVn { @@ / #1 } {#2} \l_tmpa_str {#4}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
\cs_generate_variant:Nn \groupthm_declare_group_rule:nnnn { n n n x }
|
\cs_generate_variant:Nn \groupthm_declare_group_rule:nnnn { n n n x }
|
||||||
|
@ -1787,7 +1883,10 @@
|
||||||
% \begin{macrocode}
|
% \begin{macrocode}
|
||||||
\NewDocumentCommand { \DeclareTheoremGroupRule } { O{??} m m m }
|
\NewDocumentCommand { \DeclareTheoremGroupRule } { O{??} m m m }
|
||||||
{
|
{
|
||||||
\groupthm_declare_group_rule:nnnn {#1} {#2} {#3} {#4}
|
\@@_lazy:n
|
||||||
|
{
|
||||||
|
\groupthm_declare_group_rule:nnnn {#1} {#2} {#3} {#4}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
% \end{macrocode}
|
% \end{macrocode}
|
||||||
% \end{macro}
|
% \end{macro}
|
||||||
|
@ -1804,9 +1903,12 @@
|
||||||
% \begin{macrocode}
|
% \begin{macrocode}
|
||||||
\cs_new:Npn \groupthm_add_parent:nn #1 #2
|
\cs_new:Npn \groupthm_add_parent:nn #1 #2
|
||||||
{
|
{
|
||||||
\@@_ensure_group_exists:n { #1 }
|
\@@_lazy:n
|
||||||
\@@_ensure_group_exists:n { #2 }
|
{
|
||||||
\clist_gput_left:cn { g_@@_parents_group__#1__clist } { #2 }
|
\@@_ensure_group_exists:n { #1 }
|
||||||
|
\@@_ensure_group_exists:n { #2 }
|
||||||
|
\clist_gput_left:cn { g_@@_parents_group__#1__clist } { #2 }
|
||||||
|
}
|
||||||
}
|
}
|
||||||
\cs_generate_variant:Nn \groupthm_add_parent:nn { n x }
|
\cs_generate_variant:Nn \groupthm_add_parent:nn { n x }
|
||||||
% \end{macrocode}
|
% \end{macrocode}
|
||||||
|
@ -1823,7 +1925,10 @@
|
||||||
% \begin{macrocode}
|
% \begin{macrocode}
|
||||||
\NewDocumentCommand { \AddTheoremGroupParent } { m m }
|
\NewDocumentCommand { \AddTheoremGroupParent } { m m }
|
||||||
{
|
{
|
||||||
\groupthm_add_parent:nn { #1 } { #2 }
|
\@@lazy:n
|
||||||
|
{
|
||||||
|
\groupthm_add_parent:nn { #1 } { #2 }
|
||||||
|
}
|
||||||
}
|
}
|
||||||
% \end{macrocode}
|
% \end{macrocode}
|
||||||
% \end{macro}
|
% \end{macro}
|
||||||
|
@ -1889,11 +1994,14 @@
|
||||||
% \begin{macrocode}
|
% \begin{macrocode}
|
||||||
\cs_new:Npn \groupthm_append_to_group:nn #1 #2
|
\cs_new:Npn \groupthm_append_to_group:nn #1 #2
|
||||||
{
|
{
|
||||||
\groupthm_new_group:nx { #1 } { __append__ \int_use:N \g_@@_append_groups_int }
|
\@@_lazy:n
|
||||||
\groupthm_add_parent:nx { #2 } { __append__ \int_use:N \g_@@_append_groups_int }
|
{
|
||||||
\groupthm_declare_group_rule:nnnx
|
\groupthm_new_group:nx { #1 } { __append__ \int_use:N \g_@@_append_groups_int }
|
||||||
{ ?? } { #2 } { before } { __append__ \int_use:N \g_@@_append_groups_int }
|
\groupthm_add_parent:nx { #2 } { __append__ \int_use:N \g_@@_append_groups_int }
|
||||||
\int_gincr:N \g_@@_append_groups_int
|
\groupthm_declare_group_rule:nnnx
|
||||||
|
{ ?? } { #2 } { before } { __append__ \int_use:N \g_@@_append_groups_int }
|
||||||
|
\int_gincr:N \g_@@_append_groups_int
|
||||||
|
}
|
||||||
}
|
}
|
||||||
% \end{macrocodel}
|
% \end{macrocodel}
|
||||||
% \end{macro}
|
% \end{macro}
|
||||||
|
@ -1910,19 +2018,15 @@
|
||||||
% \begin{macrocode}
|
% \begin{macrocode}
|
||||||
\NewDocumentCommand { \AppendToTheoremGroup } { O{} m }
|
\NewDocumentCommand { \AppendToTheoremGroup } { O{} m }
|
||||||
{
|
{
|
||||||
\groupthm_append_to_group:nn { #1 } { #2 }
|
\@@lazy:n
|
||||||
|
{
|
||||||
|
\groupthm_append_to_group:nn { #1 } { #2 }
|
||||||
|
}
|
||||||
}
|
}
|
||||||
% \end{macrocode}
|
% \end{macrocode}
|
||||||
% \end{macro}
|
% \end{macro}
|
||||||
%
|
%
|
||||||
%
|
%
|
||||||
% We also provide the three default groups:
|
|
||||||
%
|
|
||||||
% \begin{macrocode}
|
|
||||||
\groupthm_new_group:nnnnn { all } { } { } { } { }
|
|
||||||
\groupthm_new_group:nnnnn { starred } { } { } { } { numbered = no }
|
|
||||||
\groupthm_new_group:nnnnn { unnumbered } { } { } { } { numbered = no }
|
|
||||||
% \end{macrocode}
|
|
||||||
%
|
%
|
||||||
% \subsection{Iterating over powersets}
|
% \subsection{Iterating over powersets}
|
||||||
% For generating the different variants of a theorem family,
|
% For generating the different variants of a theorem family,
|
||||||
|
@ -2178,24 +2282,27 @@
|
||||||
{ new, provide }
|
{ new, provide }
|
||||||
{ groupthm_#1_theorem:nnn }
|
{ groupthm_#1_theorem:nnn }
|
||||||
{
|
{
|
||||||
\@@_set_normalized_keys:nnn { ##1 } { grouped ~ theorem } { ##2 }
|
\@@_lazy:n
|
||||||
\bool_if:nT { ##3 }
|
|
||||||
{
|
{
|
||||||
\clist_put_left:Nn \l_@@_group_clist { unnumbered }
|
\@@_set_normalized_keys:nnn { ##1 } { grouped ~ theorem } { ##2 }
|
||||||
}
|
\bool_if:nT { ##3 }
|
||||||
\use:c { groupthm_#1_theorem:nVVV }
|
{
|
||||||
{ ##2 }
|
\clist_put_left:Nn \l_@@_group_clist { unnumbered }
|
||||||
\l_@@_group_clist
|
}
|
||||||
\l_@@_name_tl
|
|
||||||
\l_@@_thmtools_clist
|
|
||||||
\bool_if:NT \l_@@_starred_version_bool
|
|
||||||
{
|
|
||||||
\clist_put_left:Nn \l_@@_group_clist { starred }
|
|
||||||
\use:c { groupthm_#1_theorem:nVVV }
|
\use:c { groupthm_#1_theorem:nVVV }
|
||||||
{ ##2* }
|
{ ##2 }
|
||||||
\l_@@_group_clist
|
\l_@@_group_clist
|
||||||
\l_@@_name_tl
|
\l_@@_name_tl
|
||||||
\l_@@_thmtools_clist
|
\l_@@_thmtools_clist
|
||||||
|
\bool_if:NT \l_@@_starred_version_bool
|
||||||
|
{
|
||||||
|
\clist_put_left:Nn \l_@@_group_clist { starred }
|
||||||
|
\use:c { groupthm_#1_theorem:nVVV }
|
||||||
|
{ ##2* }
|
||||||
|
\l_@@_group_clist
|
||||||
|
\l_@@_name_tl
|
||||||
|
\l_@@_thmtools_clist
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
% \end{macrocode}
|
% \end{macrocode}
|
||||||
|
@ -2224,10 +2331,13 @@
|
||||||
{ \@@_Declarator: GroupedTheorem }
|
{ \@@_Declarator: GroupedTheorem }
|
||||||
{ s O{} m }
|
{ s O{} m }
|
||||||
{
|
{
|
||||||
\use:c { groupthm_#1_theorem:nnn }
|
\@@_lazy:n
|
||||||
{ ##2 }
|
{
|
||||||
{ ##3 }
|
\use:c { groupthm_#1_theorem:nnn }
|
||||||
{ ##1 }
|
{ ##2 }
|
||||||
|
{ ##3 }
|
||||||
|
{ ##1 }
|
||||||
|
}
|
||||||
}
|
}
|
||||||
% \end{macrocode}
|
% \end{macrocode}
|
||||||
% \end{macro}
|
% \end{macro}
|
||||||
|
@ -2332,24 +2442,27 @@
|
||||||
{ new, provide }
|
{ new, provide }
|
||||||
{ groupthm_#1_family:nnn }
|
{ groupthm_#1_family:nnn }
|
||||||
{
|
{
|
||||||
\@@_set_normalized_keys:nnn { ##1 } { theorem ~ family } { ##2 }
|
\@@_lazy:n
|
||||||
\bool_if:nTF { ##3}
|
|
||||||
{
|
{
|
||||||
\clist_set:Nn \l_tmpa_clist { unnumbered }
|
\@@_set_normalized_keys:nnn { ##1 } { theorem ~ family } { ##2 }
|
||||||
|
\bool_if:nTF { ##3}
|
||||||
|
{
|
||||||
|
\clist_set:Nn \l_tmpa_clist { unnumbered }
|
||||||
|
}
|
||||||
|
{
|
||||||
|
\clist_clear:N \l_tmpa_clist
|
||||||
|
}
|
||||||
|
\bool_if:NT \l_@@_starred_version_bool
|
||||||
|
{
|
||||||
|
\clist_put_left:Nn \l_@@_group_clist { starred }
|
||||||
|
}
|
||||||
|
\use:c { groupthm_#1_family:nVVVV }
|
||||||
|
{ ##2 }
|
||||||
|
\l_@@_group_clist
|
||||||
|
\l_@@_name_tl
|
||||||
|
\l_@@_thmtools_clist
|
||||||
|
\l_tmpa_clist
|
||||||
}
|
}
|
||||||
{
|
|
||||||
\clist_clear:N \l_tmpa_clist
|
|
||||||
}
|
|
||||||
\bool_if:NT \l_@@_starred_version_bool
|
|
||||||
{
|
|
||||||
\clist_put_left:Nn \l_@@_group_clist { starred }
|
|
||||||
}
|
|
||||||
\use:c { groupthm_#1_family:nVVVV }
|
|
||||||
{ ##2 }
|
|
||||||
\l_@@_group_clist
|
|
||||||
\l_@@_name_tl
|
|
||||||
\l_@@_thmtools_clist
|
|
||||||
\l_tmpa_clist
|
|
||||||
}
|
}
|
||||||
% \end{macrocode}
|
% \end{macrocode}
|
||||||
% \end{macro}
|
% \end{macro}
|
||||||
|
@ -2374,10 +2487,13 @@
|
||||||
{ \@@_Declarator: GroupedTheoremFamily }
|
{ \@@_Declarator: GroupedTheoremFamily }
|
||||||
{ s O{} m }
|
{ s O{} m }
|
||||||
{
|
{
|
||||||
\use:c { groupthm_#1_family:nnn }
|
\@@_lazy:n
|
||||||
{ ##2 }
|
{
|
||||||
{ ##3 }
|
\use:c { groupthm_#1_family:nnn }
|
||||||
{ ##1 }
|
{ ##2 }
|
||||||
|
{ ##3 }
|
||||||
|
{ ##1 }
|
||||||
|
}
|
||||||
}
|
}
|
||||||
% \end{macrocode}
|
% \end{macrocode}
|
||||||
% \end{macro}
|
% \end{macro}
|
||||||
|
@ -2402,12 +2518,15 @@
|
||||||
% executing a \meta{selection body} from some family options.
|
% executing a \meta{selection body} from some family options.
|
||||||
% If used outside, we emit an error message.
|
% If used outside, we emit an error message.
|
||||||
% \begin{macrocode}
|
% \begin{macrocode}
|
||||||
\bool_if:NTF \l_@@_in_family_options_environment_bool
|
\@@_lazy:n
|
||||||
{
|
{
|
||||||
\clist_put_left:Nn \l_@@_group_clist { #1 }
|
\bool_if:NTF \l_@@_in_family_options_environment_bool
|
||||||
}
|
{
|
||||||
{
|
\clist_put_left:Nn \l_@@_group_clist { #1 }
|
||||||
\msg_error:nn { groupthm } { misuse ~ add ~ theorem ~ to ~ group }
|
}
|
||||||
|
{
|
||||||
|
\msg_error:nn { groupthm } { misuse ~ add ~ theorem ~ to ~ group }
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
% \end{macrocode}
|
% \end{macrocode}
|
||||||
|
@ -2423,9 +2542,9 @@
|
||||||
%
|
%
|
||||||
% \begin{macrocode}
|
% \begin{macrocode}
|
||||||
\NewDocumentCommand { \AddTheoremToGroup } { m }
|
\NewDocumentCommand { \AddTheoremToGroup } { m }
|
||||||
{
|
{
|
||||||
\groupthm_add_theorem_to_group:n { #1 }
|
\groupthm_add_theorem_to_group:n { #1 }
|
||||||
}
|
}
|
||||||
% \end{macrocode}
|
% \end{macrocode}
|
||||||
% \end{macro}
|
% \end{macro}
|
||||||
%
|
%
|
||||||
|
@ -2444,7 +2563,7 @@
|
||||||
% The \meta{extra groups} will be added regardless of the arguments given
|
% The \meta{extra groups} will be added regardless of the arguments given
|
||||||
% to the \meta{theorem family}
|
% to the \meta{theorem family}
|
||||||
% The \meta{declaring backend} is one of \texttt{New}, \texttt{Renew}, \texttt{Provide}
|
% The \meta{declaring backend} is one of \texttt{New}, \texttt{Renew}, \texttt{Provide}
|
||||||
% and \texttt{Declare} and is given to the \texttt{DocumentEnvironment} command from \pkg{xpars}.
|
% and \texttt{Declare} and is given to the \texttt{DocumentEnvironment} command from \pkg{xparse}.
|
||||||
%
|
%
|
||||||
% \begin{macrocode}
|
% \begin{macrocode}
|
||||||
\cs_new:Npn \@@_define_family_options:nnnn #1 #2 #3 #4
|
\cs_new:Npn \@@_define_family_options:nnnn #1 #2 #3 #4
|
||||||
|
@ -2495,6 +2614,15 @@
|
||||||
\@@_sort_group_names:
|
\@@_sort_group_names:
|
||||||
\end { __#1__groups_ \clist_use:Nn \l_@@_group_clist { _ } }
|
\end { __#1__groups_ \clist_use:Nn \l_@@_group_clist { _ } }
|
||||||
}
|
}
|
||||||
|
% \end{macrocode}
|
||||||
|
%
|
||||||
|
% Cache this definition for re-runs of \LaTeX.
|
||||||
|
%
|
||||||
|
% \begin{macrocode}
|
||||||
|
\@@_cache_slow:n
|
||||||
|
{
|
||||||
|
\csname @@_define_family_options:nnnn \endcsname { #1 } { #2 } { #3 } { #4 }
|
||||||
|
}
|
||||||
}
|
}
|
||||||
% \end{macrocode}
|
% \end{macrocode}
|
||||||
% \end{macro}
|
% \end{macro}
|
||||||
|
@ -2557,38 +2685,343 @@
|
||||||
{ \@@_Declarator: GroupedTheoremFamilyOptions }
|
{ \@@_Declarator: GroupedTheoremFamilyOptions }
|
||||||
{ s O{} m m m }
|
{ s O{} m m m }
|
||||||
{
|
{
|
||||||
\keys_set:nn { groupthm / theorem ~ family ~ options } { starred ~ version }
|
\@@_lazy:n
|
||||||
\keys_set:nn { groupthm / theorem ~ family ~ options } { ##2 }
|
|
||||||
\bool_if:nTF { ##1 }
|
|
||||||
{
|
{
|
||||||
\clist_set:Nn \l_tmpa_clist { unnumbered }
|
\keys_set:nn { groupthm / theorem ~ family ~ options } { starred ~ version }
|
||||||
}
|
\keys_set:nn { groupthm / theorem ~ family ~ options } { ##2 }
|
||||||
{
|
\bool_if:nTF { ##1 }
|
||||||
\clist_clear:N \l_tmpa_clist
|
{
|
||||||
}
|
\clist_set:Nn \l_tmpa_clist { unnumbered }
|
||||||
\use:c { groupthm_#1_family_options:nnnV }
|
}
|
||||||
{ ##3 }
|
{
|
||||||
{ ##4 }
|
\clist_clear:N \l_tmpa_clist
|
||||||
{ ##5 }
|
}
|
||||||
\l_tmpa_clist
|
|
||||||
\bool_if:NT \l_@@_starred_version_bool
|
|
||||||
{
|
|
||||||
\use:c { groupthm_#1_family_options:nnnV }
|
\use:c { groupthm_#1_family_options:nnnV }
|
||||||
{ ##3* }
|
{ ##3 }
|
||||||
{ ##4 }
|
{ ##4 }
|
||||||
{
|
{ ##5 }
|
||||||
##5
|
|
||||||
\groupthm_add_theorem_to_group:n { starred }
|
|
||||||
}
|
|
||||||
\l_tmpa_clist
|
\l_tmpa_clist
|
||||||
|
\bool_if:NT \l_@@_starred_version_bool
|
||||||
|
{
|
||||||
|
\use:c { groupthm_#1_family_options:nnnV }
|
||||||
|
{ ##3* }
|
||||||
|
{ ##4 }
|
||||||
|
{
|
||||||
|
##5
|
||||||
|
\groupthm_add_theorem_to_group:n { starred }
|
||||||
|
}
|
||||||
|
\l_tmpa_clist
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
% \end{macrocode}
|
% \end{macrocode}
|
||||||
% \end{macro}
|
% \end{macro}
|
||||||
|
%
|
||||||
|
%
|
||||||
|
%
|
||||||
|
%
|
||||||
|
% \subsection{Caching}
|
||||||
|
%
|
||||||
|
%
|
||||||
|
%
|
||||||
|
% We differentiate between caching and non-caching mode here.
|
||||||
|
% First, we provide some wrappers for writing to the aux file:
|
||||||
|
%
|
||||||
|
%
|
||||||
|
%
|
||||||
|
% \begin{macrocode}
|
||||||
|
\bool_if:NTF \g_@@_cache_bool
|
||||||
|
{
|
||||||
|
% \end{macrocode}
|
||||||
|
%
|
||||||
|
%
|
||||||
|
% \begin{macro}{\@@_write_auxout:n, \@@_write_auxout:x}
|
||||||
|
%
|
||||||
|
% Immediate write to aux file.
|
||||||
|
%
|
||||||
|
% \begin{macrocode}
|
||||||
|
\cs_new:Npn \@@_write_auxout:n
|
||||||
|
{
|
||||||
|
\iow_now:cn { @auxout }
|
||||||
|
}
|
||||||
|
\cs_generate_variant:Nn \@@_write_auxout:n { x }
|
||||||
|
% \end{macrocode}
|
||||||
|
% \end{macro}
|
||||||
|
%
|
||||||
|
%
|
||||||
|
% \begin{macro}{\@@_dump_auxfile:n, \@@_dump_auxfile:x}
|
||||||
|
%
|
||||||
|
% Dump to auxfile at end of document.
|
||||||
|
% This is used to dump to the aux file at any point of the document
|
||||||
|
% without messing with preamble / document treatment etc.
|
||||||
|
%
|
||||||
|
% \begin{macrocode}
|
||||||
|
\cs_new:Npn \@@_dump_auxfile:n
|
||||||
|
{
|
||||||
|
\clist_gput_right:Nn \g_@@_dump_auxfile_clist
|
||||||
|
}
|
||||||
|
\cs_generate_variant:Nn \@@_dump_auxfile:n { x }
|
||||||
|
% \end{macrocode}
|
||||||
|
% \end{macro}
|
||||||
|
|
||||||
|
|
||||||
|
% \begin{macro}{\@@_cache_auxfile:n, \@@_cache_auxfile:V}
|
||||||
|
%
|
||||||
|
%
|
||||||
|
% This also pipes data through the auxfile,
|
||||||
|
% but will cache it to make it available in the next run.
|
||||||
|
%
|
||||||
|
% \begin{macrocode}
|
||||||
|
\cs_new:Npn \@@_cache_auxfile:n
|
||||||
|
{
|
||||||
|
\clist_gput_right:Nn \g_@@_dump_cache_clist
|
||||||
|
}
|
||||||
|
\cs_generate_variant:Nn \@@_cache_auxfile:n { V }
|
||||||
|
% \end{macrocode}
|
||||||
|
% \end{macro}
|
||||||
|
|
||||||
|
|
||||||
|
% This handles the dumping to the auxfile at the end of the document:
|
||||||
|
% \begin{macrocode}
|
||||||
|
\hook_gput_code:nnn { enddocument } { groupthm }
|
||||||
|
{
|
||||||
|
%<*benchmark>
|
||||||
|
\@@_benchmark_once:nn
|
||||||
|
{
|
||||||
|
Benchmarking ~ writing ~ to ~ auxfile:
|
||||||
|
}
|
||||||
|
{
|
||||||
|
%</benchmark>
|
||||||
|
% \end{macrocode}
|
||||||
|
% First, perform the regular dump:
|
||||||
|
% \begin{macrocode}
|
||||||
|
\clist_map_function:NN \g_@@_dump_auxfile_clist
|
||||||
|
\_@@_write_auxout:n
|
||||||
|
% \end{macrocode}
|
||||||
|
% Now, we want to dump the cached clist, but wrap it into the
|
||||||
|
% the corresponding macro call for storing it in
|
||||||
|
% \cs{g_@@_lazy_auxfile_tl} on re-reading the auxfile.
|
||||||
|
% For this, we have to put two single braces into the auxfile
|
||||||
|
% separately
|
||||||
|
% \begin{macrocode}
|
||||||
|
\_@@_write_auxout:n
|
||||||
|
{
|
||||||
|
\csname tl_gput_right:cn \endcsname
|
||||||
|
{
|
||||||
|
g_@@_lazy_auxfile_tl
|
||||||
|
}
|
||||||
|
}
|
||||||
|
\_@@_write_auxout:x { \str_use:N \c_left_brace_str }
|
||||||
|
% \end{macrocode}
|
||||||
|
% Now, dump the list
|
||||||
|
% \begin{macrocode}
|
||||||
|
\clist_map_function:NN \g_@@_dump_cache_clist
|
||||||
|
\_@@_write_auxout:n
|
||||||
|
\_@@_write_auxout:x { \str_use:N \c_right_brace_str }
|
||||||
|
%<*benchmark>
|
||||||
|
}
|
||||||
|
%</benchmark>
|
||||||
|
}
|
||||||
|
% \end{macrocode}
|
||||||
|
|
||||||
|
|
||||||
|
% This makes sure that we restore the cache version
|
||||||
|
% on the next run of LaTeX
|
||||||
|
% \begin{macrocode}
|
||||||
|
\_@@_dump_auxfile:x
|
||||||
|
{
|
||||||
|
\ExplSyntaxOn
|
||||||
|
\int_gset:Nn \exp_not:N \g_@@_cache_version_aux_int
|
||||||
|
{
|
||||||
|
\int_use:N \g_@@_cache_version_document_int
|
||||||
|
}
|
||||||
|
\ExplSyntaxOff
|
||||||
|
}
|
||||||
|
% \end{macrocode}
|
||||||
|
%
|
||||||
|
%
|
||||||
|
% We can now provide the two main macros responsible for the caching feature.
|
||||||
|
%
|
||||||
|
% \begin{macro}{\@@_lazy:n}
|
||||||
|
% \begin{syntax}
|
||||||
|
% \cs{@@_lazy:n}\marg{code}
|
||||||
|
% \end{syntax}
|
||||||
|
%
|
||||||
|
% Lazy execution will just append to the corresponding token list
|
||||||
|
%
|
||||||
|
% \begin{macrocode}
|
||||||
|
\cs_new:Npn \@@_lazy:n
|
||||||
|
{
|
||||||
|
\tl_gput_right:Nn \g_@@_lazy_document_tl
|
||||||
|
}
|
||||||
|
% \end{macrocode}
|
||||||
|
% \end{macro}
|
||||||
%
|
%
|
||||||
%
|
%
|
||||||
%
|
%
|
||||||
%
|
%
|
||||||
|
% \begin{macro}{\@@_cache:n}
|
||||||
|
% \begin{syntax}
|
||||||
|
% \cs{@@_cache:n}\marg{code}
|
||||||
|
% \end{syntax}
|
||||||
|
%
|
||||||
|
% We have to replace parameter-tokens of category code 6
|
||||||
|
% with regular \enquote{\#} tokens of category code 12
|
||||||
|
% so that we don't double them when writing to the aux file.
|
||||||
|
% See
|
||||||
|
% \href
|
||||||
|
% {https://tex.stackexchange.com/questions/632294/writing-nested-argument-specifier-to-aux-file}
|
||||||
|
% {https://tex.stackexchange.com/questions/632294/writing-nested-argument-specifier-to-aux-file}
|
||||||
|
% for details.
|
||||||
|
%
|
||||||
|
% \begin{macrocode}
|
||||||
|
\cs_set_eq:NN \@@_cache:n \@@_cache_auxfile:n
|
||||||
|
% \end{macrocode}
|
||||||
|
% \end{macro}
|
||||||
|
%
|
||||||
|
%
|
||||||
|
%
|
||||||
|
% \begin{macro}{\@@_cache_slow:n}
|
||||||
|
%
|
||||||
|
%
|
||||||
|
%
|
||||||
|
% \begin{macrocode}
|
||||||
|
\cs_new:Npn \@@_cache_slow:n #1
|
||||||
|
{
|
||||||
|
\tl_set:Nn \l_tmpa_tl
|
||||||
|
{
|
||||||
|
{ #1 }
|
||||||
|
}
|
||||||
|
\regex_replace_all:nnN { \cP\# } { \cO\# } \l_tmpa_tl
|
||||||
|
\@@_cache_auxfile:V \l_tmpa_tl
|
||||||
|
}
|
||||||
|
% \end{macrocode}
|
||||||
|
% \end{macro}
|
||||||
|
%
|
||||||
|
%
|
||||||
|
%
|
||||||
|
% Finally, at the beginning of the document, call the correct code for execution
|
||||||
|
% \begin{macrocode}
|
||||||
|
\hook_gput_code:nnn { begindocument } { groupthm }
|
||||||
|
{
|
||||||
|
\cs_set_eq:NN \@@_lazy:n \use:n
|
||||||
|
\int_compare:nNnTF
|
||||||
|
\g_@@_cache_version_aux_int < \g_@@_cache_version_document_int
|
||||||
|
{
|
||||||
|
%<*benchmark>
|
||||||
|
\@@_benchmark_once:nn
|
||||||
|
{
|
||||||
|
Benchmarking ~ declarations ~ of ~ theorems ~ from ~ document:
|
||||||
|
}
|
||||||
|
{
|
||||||
|
%</benchmark>
|
||||||
|
\tl_use:N \g_@@_lazy_document_tl
|
||||||
|
%<*benchmark>
|
||||||
|
}
|
||||||
|
%</benchmark>
|
||||||
|
}
|
||||||
|
{
|
||||||
|
%<*benchmark>
|
||||||
|
\@@_benchmark_once:nn
|
||||||
|
{
|
||||||
|
Benchmarking ~ declarations ~ of ~ theorems ~ from ~ aux ~ file:
|
||||||
|
}
|
||||||
|
{
|
||||||
|
%</benchmark>
|
||||||
|
\tl_use:N \g_@@_lazy_auxfile_tl
|
||||||
|
%<*benchmark>
|
||||||
|
}
|
||||||
|
%</benchmark>
|
||||||
|
}
|
||||||
|
}
|
||||||
|
% \end{macrocode}
|
||||||
|
%
|
||||||
|
%
|
||||||
|
% It remains to handle the non-caching case, in which
|
||||||
|
% we only have to define \cs{@@_cache:n} and \cs{@@_lazy:n} to be simple
|
||||||
|
% wrappers.
|
||||||
|
%
|
||||||
|
% \begin{macrocode}
|
||||||
|
}
|
||||||
|
{
|
||||||
|
% \end{macrocode}
|
||||||
|
%
|
||||||
|
%
|
||||||
|
%
|
||||||
|
%
|
||||||
|
%
|
||||||
|
% \begin{macro}{\@@_cache:n}
|
||||||
|
%
|
||||||
|
%
|
||||||
|
% \begin{macrocode}
|
||||||
|
\cs_set_eq:NN \@@_cache:n \use_none:n
|
||||||
|
% \end{macrocode}
|
||||||
|
% \end{macro}
|
||||||
|
%
|
||||||
|
%
|
||||||
|
% \begin{macro}{\@@_cache_slow:n}
|
||||||
|
%
|
||||||
|
%
|
||||||
|
% \begin{macrocode}
|
||||||
|
\cs_set_eq:NN \@@_cache_slow:n \use_none:n
|
||||||
|
% \end{macrocode}
|
||||||
|
% \end{macro}
|
||||||
|
%
|
||||||
|
%
|
||||||
|
% \begin{macro}{\@@_lazy:n}
|
||||||
|
%
|
||||||
|
%
|
||||||
|
%
|
||||||
|
% \begin{macrocode}
|
||||||
|
\cs_set_eq:NN \@@_lazy:n \use:n
|
||||||
|
% \end{macrocode}
|
||||||
|
% \end{macro}
|
||||||
|
%
|
||||||
|
%
|
||||||
|
% This ends the non-caching case.
|
||||||
|
%
|
||||||
|
% \begin{macrocode}
|
||||||
|
}
|
||||||
|
% \end{macrocode}
|
||||||
|
%
|
||||||
|
%
|
||||||
|
%
|
||||||
|
% We also provide the three default groups:
|
||||||
|
%
|
||||||
|
% \begin{variable}{all, starred, unnumbered}
|
||||||
|
% \begin{macrocode}
|
||||||
|
\groupthm_new_group:nnnnn { all } { } { } { } { }
|
||||||
|
\groupthm_new_group:nnnnn { starred } { } { } { } { numbered = no }
|
||||||
|
\groupthm_new_group:nnnnn { unnumbered } { } { } { } { numbered = no }
|
||||||
|
% \end{macrocode}
|
||||||
|
% \end{variable}
|
||||||
|
%
|
||||||
|
%
|
||||||
|
%
|
||||||
|
% \subsection{Benchmarking}
|
||||||
|
%
|
||||||
|
% Just some utility macro for benchmarking
|
||||||
|
% some parts of the package.
|
||||||
|
%
|
||||||
|
%
|
||||||
|
% \begin{macro}{\@@_benchmark:nn}
|
||||||
|
%
|
||||||
|
%
|
||||||
|
%
|
||||||
|
% \begin{macrocode}
|
||||||
|
%<*benchmark>
|
||||||
|
\cs_new:Npn \@@_benchmark_once:nn #1
|
||||||
|
{
|
||||||
|
\iow_term:n { [groupthm] ~ #1 }
|
||||||
|
\iow_log:n { [groupthm] ~ #1 }
|
||||||
|
\benchmark_once:n
|
||||||
|
}
|
||||||
|
%</benchmark>
|
||||||
|
% \end{macrocode}
|
||||||
|
% \end{macro}
|
||||||
|
%
|
||||||
|
%
|
||||||
|
%
|
||||||
%
|
%
|
||||||
% \begin{macrocode}
|
% \begin{macrocode}
|
||||||
%</package>
|
%</package>
|
||||||
|
|
|
@ -46,33 +46,27 @@ __HEADER__(Automatic references to theorems in proofs. Claim counters within pro
|
||||||
|
|
||||||
%%%Now, we internally got a proof and a subproof environment
|
%%%Now, we internally got a proof and a subproof environment
|
||||||
%%%Make them available as 'old' variants, with their defautl behaviour
|
%%%Make them available as 'old' variants, with their defautl behaviour
|
||||||
\NewDocumentEnvironment{oldproof}{ o }
|
\NewDocumentEnvironment{oldproof} { }
|
||||||
{
|
{
|
||||||
\IfValueTF { #1 }
|
__PACKAGE_MACRO__(saved_proof:w)
|
||||||
{
|
}
|
||||||
__PACKAGE_MACRO__(saved_proof:w) { #1 }
|
{
|
||||||
}
|
__PACKAGE_MACRO__(saved_endproof:)
|
||||||
{
|
}
|
||||||
__PACKAGE_MACRO__(saved_proof:w)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
{
|
|
||||||
__PACKAGE_MACRO__(saved_endproof:)
|
|
||||||
}
|
|
||||||
|
|
||||||
\NewDocumentEnvironment{oldsubproof}{ o }
|
\NewDocumentEnvironment{oldsubproof} { o }
|
||||||
{
|
{
|
||||||
\IfValueTF { #1 }
|
\IfValueTF { #1 }
|
||||||
{
|
{
|
||||||
__PACKAGE_MACRO__(saved_subproof:n) { #1 }
|
__PACKAGE_MACRO__(saved_subproof:n) { #1 }
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
__PACKAGE_MACRO__(saved_subproof:n) { \translate { Subproof } }
|
__PACKAGE_MACRO__(saved_subproof:n) { \translate { Subproof } }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
__PACKAGE_MACRO__(saved_endsubproof:)
|
__PACKAGE_MACRO__(saved_endsubproof:)
|
||||||
}
|
}
|
||||||
|
|
||||||
%%% Main implementation
|
%%% Main implementation
|
||||||
|
|
||||||
|
|
|
@ -1,10 +0,0 @@
|
||||||
pdf:
|
|
||||||
latexmk
|
|
||||||
|
|
||||||
full:
|
|
||||||
latexmk -gg
|
|
||||||
|
|
||||||
clean:
|
|
||||||
latexmk -C
|
|
||||||
|
|
||||||
.PHONY: clean
|
|
|
@ -80,6 +80,13 @@
|
||||||
% \end{function}
|
% \end{function}
|
||||||
%
|
%
|
||||||
% \section{Default styles}
|
% \section{Default styles}
|
||||||
|
%
|
||||||
|
%
|
||||||
|
% The package has the option to provide some default styles.
|
||||||
|
% These can be loaded with the |default styles| (the space is optional)
|
||||||
|
% option, when loading the package.
|
||||||
|
%
|
||||||
|
%
|
||||||
% \subsection{colors}
|
% \subsection{colors}
|
||||||
%
|
%
|
||||||
% \begin{variable}{gold}
|
% \begin{variable}{gold}
|
||||||
|
@ -261,7 +268,11 @@
|
||||||
rightline = false,
|
rightline = false,
|
||||||
topline = false,
|
topline = false,
|
||||||
bottomline = false,
|
bottomline = false,
|
||||||
backgroundcolor = #3
|
backgroundcolor = #3,
|
||||||
|
skipabove = 0.7\baselineskip,
|
||||||
|
skipbelow = 0pt,
|
||||||
|
innerrightmargin = 10pt,
|
||||||
|
innerbottommargin = 5pt
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
#1
|
#1
|
||||||
|
@ -371,6 +382,7 @@
|
||||||
\DeclareFancyThmStyle[orange!10]{orange}[thmorangemarginandfill]
|
\DeclareFancyThmStyle[orange!10]{orange}[thmorangemarginandfill]
|
||||||
\DeclareFancyThmStyle[blue!7]{blue}[thmbluemarginandfill]
|
\DeclareFancyThmStyle[blue!7]{blue}[thmbluemarginandfill]
|
||||||
\DeclareFancyThmStyle{green!70!black}[thmgreenmargin]
|
\DeclareFancyThmStyle{green!70!black}[thmgreenmargin]
|
||||||
|
\DeclareFancyThmStyle[green!10]{green!70!black}[thmgreenmarginandfill]
|
||||||
\DeclareFancyThmStyle{gold}[thmgoldmargin]
|
\DeclareFancyThmStyle{gold}[thmgoldmargin]
|
||||||
\DeclareFancyThmStyle{yellow!80!orange}[thmyellowmargin]
|
\DeclareFancyThmStyle{yellow!80!orange}[thmyellowmargin]
|
||||||
\DeclareFancyThmStyle{gray}[thmgraymargin]
|
\DeclareFancyThmStyle{gray}[thmgraymargin]
|
||||||
|
|
|
@ -1,6 +1,8 @@
|
||||||
__HEADER__(Declaring of math symbols with automatic indexing)
|
__HEADER__(Declaring of math symbols with automatic indexing)
|
||||||
|
|
||||||
\RequirePackage{imakeidx}
|
\@ifclassloaded{beamer}{}{
|
||||||
|
\RequirePackage{imakeidx}
|
||||||
|
}
|
||||||
\RequirePackage{xparse}
|
\RequirePackage{xparse}
|
||||||
|
|
||||||
% Keys used for declaring symbols
|
% Keys used for declaring symbols
|
||||||
|
@ -35,13 +37,15 @@ __HEADER__(Declaring of math symbols with automatic indexing)
|
||||||
{
|
{
|
||||||
\bool_if:cF { used_#2 }
|
\bool_if:cF { used_#2 }
|
||||||
{
|
{
|
||||||
\index[#1]
|
\@ifclassloaded{beamer}{}{
|
||||||
{
|
\index[#1]
|
||||||
#7
|
{
|
||||||
@
|
#7
|
||||||
$#4{#5}#6$
|
@
|
||||||
#3
|
$#4{#5}#6$
|
||||||
}
|
#3
|
||||||
|
}
|
||||||
|
}
|
||||||
\bool_gset_true:c { used_#2 }
|
\bool_gset_true:c { used_#2 }
|
||||||
}
|
}
|
||||||
#4{#5}
|
#4{#5}
|
||||||
|
|
|
@ -21,25 +21,25 @@ __IF__(index)
|
||||||
%Emphasize \vocabulary
|
%Emphasize \vocabulary
|
||||||
\RequirePackage{expl3}
|
\RequirePackage{expl3}
|
||||||
\ExplSyntaxOn
|
\ExplSyntaxOn
|
||||||
\NewDocumentCommand{\vocab}{O{} m}{
|
\NewDocumentCommand{\vocab}{O{} m}{%
|
||||||
\textbf{\color{blue} #2}%
|
\textbf{\color{blue} #2}%
|
||||||
\if\relax\detokenize{#1}\relax%
|
\if\relax\detokenize{#1}\relax%
|
||||||
\index[vocabindex]{\text_titlecase_first:n{#2}} % true branch: #1 was empty
|
\index[vocabindex]{\text_titlecase_first:n{#2}} % true branch: #1 was empty
|
||||||
\else
|
\else%
|
||||||
\index[vocabindex]{#1} % false branch: #1 was supplied
|
\index[vocabindex]{#1} % false branch: #1 was supplied
|
||||||
\fi
|
\fi%
|
||||||
}
|
}
|
||||||
\ExplSyntaxOff
|
\ExplSyntaxOff
|
||||||
\newcommand\printvocabindex{
|
\newcommand\printvocabindex{%
|
||||||
\printindex[vocabindex]
|
\printindex[vocabindex]%
|
||||||
}
|
}
|
||||||
\NewDocumentCommand{\PrintVocabIndex}{ }
|
\NewDocumentCommand{\PrintVocabIndex}{ }
|
||||||
{
|
{%
|
||||||
\printindex[vocabindex]
|
\printindex[vocabindex]%
|
||||||
}
|
}
|
||||||
\else
|
\else
|
||||||
\NewDocumentCommand{\vocab}{O{} m }{
|
\NewDocumentCommand{\vocab}{O{} m }{%
|
||||||
\textbf{\color{blue} #2}
|
\textbf{\color{blue} #2}%
|
||||||
}
|
}%
|
||||||
\fi
|
\fi
|
||||||
|
|
||||||
|
|
|
@ -8,7 +8,7 @@ __HEADER__(Definitions of categories with automatic indexing)%% Wrapper commands
|
||||||
|
|
||||||
\NewDocumentCommand{\category}{ m }
|
\NewDocumentCommand{\category}{ m }
|
||||||
{
|
{
|
||||||
\operatorname{\textbf{#1}}
|
\operatorname{\textup{\textbf{#1}}}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -148,6 +148,19 @@ __HEADER__(Definitions of categories with automatic indexing)%% Wrapper commands
|
||||||
[
|
[
|
||||||
\translate{GrAb~(Category~description)}
|
\translate{GrAb~(Category~description)}
|
||||||
]
|
]
|
||||||
|
\DeclareSimpleCategory
|
||||||
|
{ CGHaus }
|
||||||
|
[
|
||||||
|
\translate{CGHaus~(Category~description)}
|
||||||
|
]
|
||||||
|
\DeclareSimpleCategory
|
||||||
|
[
|
||||||
|
formula = S
|
||||||
|
]
|
||||||
|
{ SimplicialSet }
|
||||||
|
[
|
||||||
|
\translate{SimplicialSet~(Category~description)}
|
||||||
|
]
|
||||||
\DeclareCategory
|
\DeclareCategory
|
||||||
[
|
[
|
||||||
operator = \operatorname,
|
operator = \operatorname,
|
||||||
|
|
|
@ -17,3 +17,5 @@ AffVar (Category description),Affine Varieties over $k$,Affine Varietäten über
|
||||||
Sch (Category description),Schemes and homomorphisms,Schemata und Homomorphismen
|
Sch (Category description),Schemes and homomorphisms,Schemata und Homomorphismen
|
||||||
GrAb (Category description),Graded abelian groups and homomorphisms,Graduierte Gruppen und Homomorphismen
|
GrAb (Category description),Graded abelian groups and homomorphisms,Graduierte Gruppen und Homomorphismen
|
||||||
Ordinal number category (Category description),Finite ordinal numbers and order-preserving maps,Endliche Ordinalzahlen und ordnungserhaltende Abbildungen
|
Ordinal number category (Category description),Finite ordinal numbers and order-preserving maps,Endliche Ordinalzahlen und ordnungserhaltende Abbildungen
|
||||||
|
CGHaus (Category description), Compactly generated Hausdorff spaces and continuous maps, Kompakt erzeugte Hausdorffräume und stetige Abbildungen
|
||||||
|
SimplicialSet (Category description),|Functor category $[\OrdCat, \Set]$|,|Funktorkategorie $[\OrdCat, \Set]$|
|
||||||
|
|
|
@ -8,7 +8,7 @@ __HEADER__(Math figures with TikZ / pgfplots / xy)
|
||||||
\pgfplotsset{compat=1.7}
|
\pgfplotsset{compat=1.7}
|
||||||
|
|
||||||
\RequirePackage{tikz} % Plots / drawings
|
\RequirePackage{tikz} % Plots / drawings
|
||||||
\usetikzlibrary{calc, intersections, through, quotes, angles, babel, positioning, snakes}
|
\usetikzlibrary{calc, intersections, through, quotes, angles, babel, positioning, snakes, decorations.markings}
|
||||||
|
|
||||||
\RequirePackage{tikz-cd} %Commutative diagrams
|
\RequirePackage{tikz-cd} %Commutative diagrams
|
||||||
\RequirePackage{xparse}
|
\RequirePackage{xparse}
|
||||||
|
@ -42,3 +42,31 @@ __HEADER__(Math figures with TikZ / pgfplots / xy)
|
||||||
\NewDocumentCommand\pullback{ O{dr} }{
|
\NewDocumentCommand\pullback{ O{dr} }{
|
||||||
\arrow[phantom, pos=0.45]{#1}{\pullbacksymbol}
|
\arrow[phantom, pos=0.45]{#1}{\pullbacksymbol}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
%% Fix for equal arrows in tikz, see
|
||||||
|
% https://tex.stackexchange.com/questions/443017/equal-arrows-without-transparent-ends-possible-in-tikzcd
|
||||||
|
|
||||||
|
\tikzset {
|
||||||
|
double line with arrow/.style args =
|
||||||
|
{#1,#2}%
|
||||||
|
{
|
||||||
|
decorate, decoration =
|
||||||
|
{
|
||||||
|
markings,
|
||||||
|
mark = at position 0 with
|
||||||
|
{
|
||||||
|
\coordinate (ta-base-1) at (0,1pt);
|
||||||
|
\coordinate (ta-base-2) at (0,-1pt);
|
||||||
|
}
|
||||||
|
,
|
||||||
|
mark = at position 1 with
|
||||||
|
{
|
||||||
|
\draw[#1] (ta-base-1) -- (0,1pt);
|
||||||
|
\draw[#2] (ta-base-2) -- (0,-1pt);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
\tikzset{Equal/.style={-,double line with arrow={-,-}}}
|
||||||
|
|
|
@ -43,19 +43,19 @@ __END_OPTIONS_X__
|
||||||
% The starred versions of the four commands will ignore the language option and print their
|
% The starred versions of the four commands will ignore the language option and print their
|
||||||
% exact names (without the *, of course)
|
% exact names (without the *, of course)
|
||||||
\DeclareMathOperator{\@__PACKAGE_PREFIX__ggT}{ggT}
|
\DeclareMathOperator{\@__PACKAGE_PREFIX__ggT}{ggT}
|
||||||
\DeclareMathOperator{\@@__PACKAGE_PREFIX__ggT}{\if@__PACKAGE_PREFIX__english gcd\else ggT\fi}
|
\DeclareMathOperator{\@@__PACKAGE_PREFIX__ggT}{__IF__(english) gcd\else ggT\fi}
|
||||||
\def\ggT{\@ifstar\@__PACKAGE_PREFIX__ggT\@@__PACKAGE_PREFIX__ggT}
|
\def\ggT{\@ifstar\@__PACKAGE_PREFIX__ggT\@@__PACKAGE_PREFIX__ggT}
|
||||||
|
|
||||||
\DeclareMathOperator{\@__PACKAGE_PREFIX__gcd}{gcd}
|
\DeclareMathOperator{\@__PACKAGE_PREFIX__gcd}{gcd}
|
||||||
\DeclareMathOperator{\@@__PACKAGE_PREFIX__gcd}{\if@__PACKAGE_PREFIX__english gcd\else ggT\fi}
|
\DeclareMathOperator{\@@__PACKAGE_PREFIX__gcd}{__IF__(english) gcd\else ggT\fi}
|
||||||
\def\gcd{\@ifstar\@__PACKAGE_PREFIX__gcd\@@__PACKAGE_PREFIX__gcd}
|
\def\gcd{\@ifstar\@__PACKAGE_PREFIX__gcd\@@__PACKAGE_PREFIX__gcd}
|
||||||
|
|
||||||
\DeclareMathOperator{\@__PACKAGE_PREFIX__kgV}{kgV}
|
\DeclareMathOperator{\@__PACKAGE_PREFIX__kgV}{kgV}
|
||||||
\DeclareMathOperator{\@@__PACKAGE_PREFIX__kgV}{\if@__PACKAGE_PREFIX__english lcm\else kgV\fi}
|
\DeclareMathOperator{\@@__PACKAGE_PREFIX__kgV}{__IF__(english) lcm\else kgV\fi}
|
||||||
\def\kgV{\@ifstar\@__PACKAGE_PREFIX__kgV\@@__PACKAGE_PREFIX__kgV}
|
\def\kgV{\@ifstar\@__PACKAGE_PREFIX__kgV\@@__PACKAGE_PREFIX__kgV}
|
||||||
|
|
||||||
\DeclareMathOperator{\@__PACKAGE_PREFIX__lcm}{lcm}
|
\DeclareMathOperator{\@__PACKAGE_PREFIX__lcm}{lcm}
|
||||||
\DeclareMathOperator{\@@__PACKAGE_PREFIX__lcm}{\if@__PACKAGE_PREFIX__english lcm\else kgV\fi}
|
\DeclareMathOperator{\@@__PACKAGE_PREFIX__lcm}{__IF__(english) lcm\else kgV\fi}
|
||||||
\def\lcm{\@ifstar\@__PACKAGE_PREFIX__lcm\@@__PACKAGE_PREFIX__lcm}
|
\def\lcm{\@ifstar\@__PACKAGE_PREFIX__lcm\@@__PACKAGE_PREFIX__lcm}
|
||||||
|
|
||||||
%Complex numbers
|
%Complex numbers
|
||||||
|
@ -87,9 +87,11 @@ __END_OPTIONS_X__
|
||||||
\DeclareSimpleMathOperator{Tor}
|
\DeclareSimpleMathOperator{Tor}
|
||||||
\DeclareSimpleMathOperator{MaxSpec}
|
\DeclareSimpleMathOperator{MaxSpec}
|
||||||
\DeclareSimpleMathOperator{Sh}
|
\DeclareSimpleMathOperator{Sh}
|
||||||
|
\DeclareSimpleMathOperator{PSh}
|
||||||
\DeclareSimpleMathOperator{Proj}
|
\DeclareSimpleMathOperator{Proj}
|
||||||
\DeclareSimpleMathOperator{QCoh}
|
\DeclareSimpleMathOperator{QCoh}
|
||||||
\DeclareSimpleMathOperator{Fun}
|
\DeclareSimpleMathOperator{Fun}
|
||||||
|
\DeclareSimpleMathOperator{ord}
|
||||||
\DeclareMathOperator{\Nil}{\mathcal{N}il}
|
\DeclareMathOperator{\Nil}{\mathcal{N}il}
|
||||||
\DeclareMathOperator{\Ouv}{\mathcal{O}uv}
|
\DeclareMathOperator{\Ouv}{\mathcal{O}uv}
|
||||||
\DeclareMathOperator{\PreSh}{Pre-Sh}
|
\DeclareMathOperator{\PreSh}{Pre-Sh}
|
||||||
|
@ -191,6 +193,11 @@ __END_OPTIONS_X__
|
||||||
\newcommand\abelianization{^{\ab}}
|
\newcommand\abelianization{^{\ab}}
|
||||||
|
|
||||||
|
|
||||||
|
\NewDocumentCommand\set{m}
|
||||||
|
{
|
||||||
|
\left\{ #1 \right\}
|
||||||
|
}
|
||||||
|
|
||||||
%Taken from user egreg on
|
%Taken from user egreg on
|
||||||
% https://tex.stackexchange.com/a/22255
|
% https://tex.stackexchange.com/a/22255
|
||||||
\newcommand\frestriction[2]{{% we make the whole thing an ordinary symbol
|
\newcommand\frestriction[2]{{% we make the whole thing an ordinary symbol
|
||||||
|
|
|
@ -42,6 +42,4 @@ __HEADER__(Some extra math-related symbols.)
|
||||||
% When dealing with chain complexes, one often uses a bullet as placeholder for the index to mean the whole chain:
|
% When dealing with chain complexes, one often uses a bullet as placeholder for the index to mean the whole chain:
|
||||||
\newcommand\chainbullet{\bullet}
|
\newcommand\chainbullet{\bullet}
|
||||||
|
|
||||||
|
\newcommand{\blank}{\text{--}}
|
||||||
|
|
||||||
|
|
||||||
|
|
62
src/quiver/quiver.pysty
Normal file
62
src/quiver/quiver.pysty
Normal file
|
@ -0,0 +1,62 @@
|
||||||
|
%MIT License
|
||||||
|
%
|
||||||
|
% Copyright (c) 2018 varkor
|
||||||
|
%
|
||||||
|
% Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
|
% of this software and associated documentation files (the "Software"), to deal
|
||||||
|
% in the Software without restriction, including without limitation the rights
|
||||||
|
% to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||||
|
% copies of the Software, and to permit persons to whom the Software is
|
||||||
|
% furnished to do so, subject to the following conditions:
|
||||||
|
%
|
||||||
|
% The above copyright notice and this permission notice shall be included in all
|
||||||
|
% copies or substantial portions of the Software.
|
||||||
|
%
|
||||||
|
% THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||||
|
% IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||||
|
% FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||||
|
% AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||||
|
% LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||||
|
% OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||||
|
% SOFTWARE. *** quiver ***
|
||||||
|
%
|
||||||
|
%
|
||||||
|
% A package for drawing commutative diagrams exported from https://q.uiver.app.
|
||||||
|
%
|
||||||
|
% This package is currently a wrapper around the `tikz-cd` package, importing necessary TikZ
|
||||||
|
% libraries, and defining a new TikZ style for curves of a fixed height.
|
||||||
|
%
|
||||||
|
% Version: 1.2.1
|
||||||
|
% Authors:
|
||||||
|
% - varkor (https://github.com/varkor)
|
||||||
|
% - AndréC (https://tex.stackexchange.com/users/138900/andr%C3%A9c)
|
||||||
|
|
||||||
|
\NeedsTeXFormat{LaTeX2e}
|
||||||
|
\ProvidesPackage{quiver}[2021/01/11 quiver]
|
||||||
|
|
||||||
|
% `tikz-cd` is necessary to draw commutative diagrams.
|
||||||
|
\RequirePackage{tikz-cd}
|
||||||
|
% `amssymb` is necessary for `\lrcorner` and `\ulcorner`.
|
||||||
|
\RequirePackage{amssymb}
|
||||||
|
% `calc` is necessary to draw curved arrows.
|
||||||
|
\usetikzlibrary{calc}
|
||||||
|
% `pathmorphing` is necessary to draw squiggly arrows.
|
||||||
|
\usetikzlibrary{decorations.pathmorphing}
|
||||||
|
|
||||||
|
% A TikZ style for curved arrows of a fixed height, due to AndréC.
|
||||||
|
\tikzset{curve/.style={settings={#1},to path={(\tikztostart)
|
||||||
|
.. controls ($(\tikztostart)!\pv{pos}!(\tikztotarget)!\pv{height}!270:(\tikztotarget)$)
|
||||||
|
and ($(\tikztostart)!1-\pv{pos}!(\tikztotarget)!\pv{height}!270:(\tikztotarget)$)
|
||||||
|
.. (\tikztotarget)\tikztonodes}},
|
||||||
|
settings/.code={\tikzset{quiver/.cd,#1}
|
||||||
|
\def\pv##1{\pgfkeysvalueof{/tikz/quiver/##1}}},
|
||||||
|
quiver/.cd,pos/.initial=0.35,height/.initial=0}
|
||||||
|
|
||||||
|
% TikZ arrowhead/tail styles.
|
||||||
|
\tikzset{tail reversed/.code={\pgfsetarrowsstart{tikzcd to}}}
|
||||||
|
\tikzset{2tail/.code={\pgfsetarrowsstart{Implies[reversed]}}}
|
||||||
|
\tikzset{2tail reversed/.code={\pgfsetarrowsstart{Implies}}}
|
||||||
|
% TikZ arrow styles.
|
||||||
|
\tikzset{no body/.style={/tikz/dash pattern=on 0 off 1mm}}
|
||||||
|
|
||||||
|
\endinput
|
45
src/wip/cache/cache.pysty3
vendored
45
src/wip/cache/cache.pysty3
vendored
|
@ -17,7 +17,8 @@ __HEADER__(Cache definitions of previous LaTeX runs to avoid computations)
|
||||||
\int_new:N \g__cache_cache_version_aux_int
|
\int_new:N \g__cache_cache_version_aux_int
|
||||||
\int_gset:Nn \g__cache_cache_version_aux_int { -1 }
|
\int_gset:Nn \g__cache_cache_version_aux_int { -1 }
|
||||||
|
|
||||||
\tl_new:N \g__cache_dump_auxfile_tl
|
\clist_new:N \g__cache_dump_auxfile_clist %% usual dump
|
||||||
|
\clist_new:N \g__cache_dump_cache_clist %% will be dumped such that it is restored as \g__cache_lazy_auxfile_tl on next run.
|
||||||
\tl_new:N \g__cache_lazy_document_tl
|
\tl_new:N \g__cache_lazy_document_tl
|
||||||
\tl_new:N \g__cache_lazy_auxfile_tl
|
\tl_new:N \g__cache_lazy_auxfile_tl
|
||||||
|
|
||||||
|
@ -39,22 +40,48 @@ __HEADER__(Cache definitions of previous LaTeX runs to avoid computations)
|
||||||
\bool_if:NTF \g__cache_cache_bool
|
\bool_if:NTF \g__cache_cache_bool
|
||||||
{
|
{
|
||||||
%% Writing things (at one go) to aux file at end of document:
|
%% Writing things (at one go) to aux file at end of document:
|
||||||
\cs_new:Npn \__cache_put_aux:n #1
|
\cs_new:Npn \__cache_dump_auxfile:n
|
||||||
{
|
{
|
||||||
\tl_gput_right:Nn \g__cache_dump_auxfile_tl { #1 }
|
\clist_gput_right:Nn \g__cache_dump_auxfile_clist
|
||||||
}
|
}
|
||||||
\cs_generate_variant:Nn \__cache_put_aux:n { x, V }
|
\cs_generate_variant:Nn \__cache_dump_auxfile:n { x }
|
||||||
|
|
||||||
\cs_generate_variant:Nn \iow_now:Nn { c V }
|
\cs_new:Npn \__cache_dump_cache:n
|
||||||
|
{
|
||||||
|
\clist_gput_right:Nn \g__cache_dump_cache_clist
|
||||||
|
}
|
||||||
|
\cs_generate_variant:Nn \__cache_dump_cache:n { V }
|
||||||
|
|
||||||
|
|
||||||
|
\cs_new:Npn \__cache_write_auxout:n
|
||||||
|
{
|
||||||
|
\iow_now:cn { @auxout }
|
||||||
|
}
|
||||||
|
\cs_generate_variant:Nn \__cache_write_auxout:n { x }
|
||||||
|
|
||||||
%%% Handles dumping data to aux file at end of document
|
%%% Handles dumping data to aux file at end of document
|
||||||
\hook_gput_code:nnn { enddocument } { cache }
|
\hook_gput_code:nnn { enddocument } { cache }
|
||||||
{
|
{
|
||||||
\iow_now:cV { @auxout } \g__cache_dump_auxfile_tl
|
\clist_map_function:NN \g__cache_dump_auxfile_clist
|
||||||
|
\__cache_write_auxout:n
|
||||||
|
|
||||||
|
\__cache_write_auxout:n
|
||||||
|
{
|
||||||
|
\csname tl_gput_right:cn \endcsname
|
||||||
|
{
|
||||||
|
g__cache_lazy_auxfile_tl
|
||||||
|
}
|
||||||
|
}
|
||||||
|
\__cache_write_auxout:x { \str_use:N \c_left_brace_str }
|
||||||
|
|
||||||
|
\clist_map_function:NN \g__cache_dump_cache_clist
|
||||||
|
\__cache_write_auxout:n
|
||||||
|
|
||||||
|
\__cache_write_auxout:x { \str_use:N \c_right_brace_str }
|
||||||
}
|
}
|
||||||
|
|
||||||
%%% Writes the current cache version into aux file
|
%%% Writes the current cache version into aux file
|
||||||
\__cache_put_aux:x
|
\__cache_dump_auxfile:x
|
||||||
{
|
{
|
||||||
\ExplSyntaxOn
|
\ExplSyntaxOn
|
||||||
\int_gset:Nn \exp_not:N \g__cache_cache_version_aux_int
|
\int_gset:Nn \exp_not:N \g__cache_cache_version_aux_int
|
||||||
|
@ -77,10 +104,10 @@ __HEADER__(Cache definitions of previous LaTeX runs to avoid computations)
|
||||||
{
|
{
|
||||||
\tl_set:Nn \l_tmpa_tl
|
\tl_set:Nn \l_tmpa_tl
|
||||||
{
|
{
|
||||||
\csname tl_gput_right:cn \endcsname { g__cache_lazy_auxfile_tl } { #1 }
|
{ #1 }
|
||||||
}
|
}
|
||||||
\regex_replace_all:nnN { \cP\# } { \cO\# } \l_tmpa_tl
|
\regex_replace_all:nnN { \cP\# } { \cO\# } \l_tmpa_tl
|
||||||
\__cache_put_aux:V \l_tmpa_tl
|
\__cache_dump_cache:V \l_tmpa_tl
|
||||||
}
|
}
|
||||||
|
|
||||||
%%% This handles loading either the cached definitions
|
%%% This handles loading either the cached definitions
|
||||||
|
|
34
src/wip/code/code.pysty
Normal file
34
src/wip/code/code.pysty
Normal file
|
@ -0,0 +1,34 @@
|
||||||
|
__HEADER__(Hacky code setup for verbatim code)
|
||||||
|
|
||||||
|
__NEW_IF__(pipe,false)
|
||||||
|
\DeclareOption{pipe}{__SET_IF__(pipe,true)}
|
||||||
|
\ProcessOptions
|
||||||
|
|
||||||
|
|
||||||
|
% This is needed in general: when _ is active, we want it to expand to
|
||||||
|
% an actual _ character
|
||||||
|
\catcode`_=13
|
||||||
|
\let_\_
|
||||||
|
\catcode`_=8
|
||||||
|
|
||||||
|
\ExplSyntaxOn
|
||||||
|
\NewDocumentCommand{\code}{m}
|
||||||
|
{
|
||||||
|
\tl_set_rescan:Nnn \l_tmpa_tl
|
||||||
|
{
|
||||||
|
\char_set_catcode_active:N _
|
||||||
|
}
|
||||||
|
{ #1 }
|
||||||
|
\texttt{ \tl_use:N \l_tmpa_tl }
|
||||||
|
}
|
||||||
|
\ExplSyntaxOff
|
||||||
|
|
||||||
|
__IF__(pipe)
|
||||||
|
\catcode`|=\active
|
||||||
|
\def|#1|{
|
||||||
|
\code{#1}
|
||||||
|
}
|
||||||
|
% Do not make | active inside tables
|
||||||
|
\AddToHook{env/tabular/before}[code]{\catcode`|=12}
|
||||||
|
\AddToHook{env/tabular/after}[code]{\catcode`|=13}
|
||||||
|
\fi
|
|
@ -9,18 +9,18 @@ __HEADER__(Easy standards for the todonotes package)
|
||||||
|
|
||||||
\setuptodonotes{tickmarkheight=0.1cm, size=\small}
|
\setuptodonotes{tickmarkheight=0.1cm, size=\small}
|
||||||
|
|
||||||
\newcommand\todoref{
|
\NewDocumentCommand\todoref{O{}}{
|
||||||
\todo[color=red!40]{Add reference.}
|
\todo[color=red!40, #1]{Add reference.}
|
||||||
}
|
}
|
||||||
|
|
||||||
\newcommand\todoquestion{
|
\NewDocumentCommand\todoquestion{O{}}{
|
||||||
\todo[color=black!10, size=\tiny]
|
\todo[color=black!10, size=\tiny, #1]
|
||||||
}
|
}
|
||||||
|
|
||||||
\newcommand\todotex{
|
\NewDocumentCommand\todotex{O{}}{
|
||||||
\todo[color=green!75!black]
|
\todo[color=green!75!black, #1]
|
||||||
}
|
}
|
||||||
|
|
||||||
\newcommand\todotypo{
|
\NewDocumentCommand\todotypo{O{}}{
|
||||||
\todo[color=blue!40, size=\tiny]{Typo corrected, double check this.}
|
\todo[color=blue!40, size=\tiny, #1]{Typo corrected, double check this.}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,3 +1,11 @@
|
||||||
|
once:
|
||||||
|
pdflatex test.tex
|
||||||
|
|
||||||
|
clean:
|
||||||
|
latexmk -C test.tex
|
||||||
|
|
||||||
test:
|
test:
|
||||||
latexmk -dvi- -pdf -gg -Werror -latexoption=-interaction=nonstopmode test.tex
|
latexmk -dvi- -pdf -gg -Werror -latexoption=-interaction=nonstopmode test.tex
|
||||||
latexmk -c test.tex
|
latexmk -c test.tex
|
||||||
|
|
||||||
|
.PHONY: once clean test
|
||||||
|
|
|
@ -1,58 +1,194 @@
|
||||||
\documentclass[12pt]{article}
|
\documentclass[12pt]{minimal}
|
||||||
|
|
||||||
|
\usepackage{l3benchmark}
|
||||||
|
|
||||||
\usepackage[default styles]{thmstyle}
|
\usepackage[cache]{groupthm}
|
||||||
|
|
||||||
\usepackage[number in = section]{fancythm}
|
\usepackage[generate defaults = false]{fancythm}
|
||||||
|
|
||||||
\makeatletter
|
\ExplSyntaxOn
|
||||||
%\@counteralias{insection}{indocument}
|
\iow_new:N \l_my_iow
|
||||||
\makeatother
|
\iow_open:Nn \l_my_iow { dump.txt }
|
||||||
|
\DeclareHookRule { begindocument } { before } { before } { groupthm }
|
||||||
|
|
||||||
|
%\cs_set_eq:NN \groupthm_cache:n \__groupthm_cache_auxfile:V
|
||||||
|
%\cs_set_eq:NN \__groupthm_cache:n \use_none:n
|
||||||
|
|
||||||
|
\AddToHook { begindocument } [ before ]
|
||||||
|
{
|
||||||
|
\tl_gset:Nn \g__groupthm_lazy_auxfile_tl
|
||||||
|
{
|
||||||
|
\csname __groupthm_thmtools_declare_theorem:nn\endcsname {numbered=no,name=\csname __fancythm_translate:n\endcsname {Assumption}}{__assumption__groups_tiny}
|
||||||
|
\csname __groupthm_thmtools_declare_theorem:nn\endcsname {numbered=no,name=\csname __fancythm_translate:n\endcsname {Exercise}}{__exercise__groups_tiny}
|
||||||
|
\csname __groupthm_thmtools_declare_theorem:nn\endcsname {numbered=no,name=\csname __fancythm_translate:n\endcsname {Goal}}{__goal__groups_tiny}
|
||||||
|
\csname __groupthm_thmtools_declare_theorem:nn\endcsname {numbered=no,name=\csname __fancythm_translate:n\endcsname {Idea}}{__idea__groups_tiny}
|
||||||
|
\csname __groupthm_thmtools_declare_theorem:nn\endcsname {numbered=no,name=\csname __fancythm_translate:n\endcsname {Info}}{__info__groups_tiny}
|
||||||
|
\csname __groupthm_thmtools_declare_theorem:nn\endcsname {numbered=no,name=\csname __fancythm_translate:n\endcsname {Intuition}}{__intuition__groups_tiny}
|
||||||
|
\csname __groupthm_thmtools_declare_theorem:nn\endcsname {numbered=no,name=\csname __fancythm_translate:n\endcsname {Note}}{__note__groups_tiny}
|
||||||
|
\csname __groupthm_thmtools_declare_theorem:nn\endcsname {numbered=no,name=\csname __fancythm_translate:n\endcsname {Observe}}{__observe__groups_tiny}
|
||||||
|
\csname __groupthm_thmtools_declare_theorem:nn\endcsname {numbered=no,name=\csname __fancythm_translate:n\endcsname {Problem}}{__problem__groups_tiny}
|
||||||
|
\csname __groupthm_thmtools_declare_theorem:nn\endcsname {numbered=no,name=\csname __fancythm_translate:n\endcsname {Property}}{__property__groups_tiny}
|
||||||
|
\csname __groupthm_thmtools_declare_theorem:nn\endcsname {numbered=no,name=\csname __fancythm_translate:n\endcsname {Recall}}{__recall__groups_tiny}
|
||||||
|
\csname __groupthm_thmtools_declare_theorem:nn\endcsname {numbered=no,name=\csname __fancythm_translate:n\endcsname {Reminder}}{__reminder__groups_tiny}
|
||||||
|
\csname __groupthm_thmtools_declare_theorem:nn\endcsname {numbered=no,name=\csname __fancythm_translate:n\endcsname {Strategy}}{__strategy__groups_tiny}
|
||||||
|
\csname __groupthm_thmtools_declare_theorem:nn\endcsname {numbered=no,name=\csname __fancythm_translate:n\endcsname {Variant}}{__variant__groups_tiny}
|
||||||
|
\csname __groupthm_thmtools_declare_theorem:nn\endcsname {numbered=no,name=\csname __fancythm_translate:n\endcsname {Warning}}{__warning__groups_tiny}
|
||||||
|
\csname __groupthm_thmtools_declare_theorem:nn\endcsname {sibling=sublevel,name=\csname __fancythm_translate:n\endcsname {Abuse of Notation},style=thmvioletmargin}{__abuse__groups_small}
|
||||||
|
\csname __groupthm_thmtools_declare_theorem:nn\endcsname {sibling=sublevel,name=\csname __fancythm_translate:n\endcsname {Fact},style=thmredmargin}{__fact__groups_small}
|
||||||
|
\csname __groupthm_thmtools_declare_theorem:nn\endcsname {sibling=sublevel,name=\csname __fancythm_translate:n\endcsname {Notation},style=thmvioletmargin}{__notation__groups_small}
|
||||||
|
\csname __groupthm_thmtools_declare_theorem:nn\endcsname {sibling=sublevel,name=\csname __fancythm_translate:n\endcsname {Oral remark},style=thmyellowmargin}{__oral__groups_small}
|
||||||
|
\csname __groupthm_thmtools_declare_theorem:nn\endcsname {sibling=sublevel,name=\csname __fancythm_translate:n\endcsname {Orga},style=thmblackmargin}{__orga__groups_small}
|
||||||
|
\csname __groupthm_thmtools_declare_theorem:nn\endcsname {sibling=sublevel,name=\csname __fancythm_translate:n\endcsname {Praise},style=thmgoldmargin}{__praise__groups_small}
|
||||||
|
\csname __groupthm_thmtools_declare_theorem:nn\endcsname {sibling=sublevel,name=\csname __fancythm_translate:n\endcsname {Question},style=thmblackmarginandfill}{__question__groups_small}
|
||||||
|
\csname __groupthm_thmtools_declare_theorem:nn\endcsname {sibling=sublevel,name=\csname __fancythm_translate:n\endcsname {Remark},style=thmyellowmargin}{__remark__groups_small}
|
||||||
|
\csname __groupthm_thmtools_declare_theorem:nn\endcsname {sibling=sublevel,name=\csname __fancythm_translate:n\endcsname {Trivial Nonsense},style=thmyellowmargin}{__trivial__groups_small}
|
||||||
|
\csname __groupthm_thmtools_declare_theorem:nn\endcsname {sibling=sublevel,numbered=no,name=\csname __fancythm_translate:n\endcsname {Assumption}$^{\dagger }$}{__assumption__groups_tiny_dagger}
|
||||||
|
\csname __groupthm_thmtools_declare_theorem:nn\endcsname {sibling=sublevel,numbered=no,name=\csname __fancythm_translate:n\endcsname {Assumption}*$^{\dagger }$}{__assumption__groups_tiny_dagger_star}
|
||||||
|
\csname __groupthm_thmtools_declare_theorem:nn\endcsname {sibling=sublevel,numbered=no,name=\csname __fancythm_translate:n\endcsname {Assumption}*}{__assumption__groups_tiny_star}
|
||||||
|
\csname __groupthm_thmtools_declare_theorem:nn\endcsname {sibling=sublevel,numbered=no,name=\csname __fancythm_translate:n\endcsname {Exercise}$^{\dagger }$}{__exercise__groups_tiny_dagger}
|
||||||
|
\csname __groupthm_thmtools_declare_theorem:nn\endcsname {sibling=sublevel,numbered=no,name=\csname __fancythm_translate:n\endcsname {Exercise}*$^{\dagger }$}{__exercise__groups_tiny_dagger_star}
|
||||||
|
\csname __groupthm_thmtools_declare_theorem:nn\endcsname {sibling=sublevel,numbered=no,name=\csname __fancythm_translate:n\endcsname {Exercise}*}{__exercise__groups_tiny_star}
|
||||||
|
\csname __groupthm_thmtools_declare_theorem:nn\endcsname {sibling=sublevel,numbered=no,name=\csname __fancythm_translate:n\endcsname {Goal}$^{\dagger }$}{__goal__groups_tiny_dagger}
|
||||||
|
\csname __groupthm_thmtools_declare_theorem:nn\endcsname {sibling=sublevel,numbered=no,name=\csname __fancythm_translate:n\endcsname {Goal}*$^{\dagger }$}{__goal__groups_tiny_dagger_star}
|
||||||
|
\csname __groupthm_thmtools_declare_theorem:nn\endcsname {sibling=sublevel,numbered=no,name=\csname __fancythm_translate:n\endcsname {Goal}*}{__goal__groups_tiny_star}
|
||||||
|
\csname __groupthm_thmtools_declare_theorem:nn\endcsname {sibling=sublevel,numbered=no,name=\csname __fancythm_translate:n\endcsname {Idea}$^{\dagger }$}{__idea__groups_tiny_dagger}
|
||||||
|
\csname __groupthm_thmtools_declare_theorem:nn\endcsname {sibling=sublevel,numbered=no,name=\csname __fancythm_translate:n\endcsname {Idea}*$^{\dagger }$}{__idea__groups_tiny_dagger_star}
|
||||||
|
\csname __groupthm_thmtools_declare_theorem:nn\endcsname {sibling=sublevel,numbered=no,name=\csname __fancythm_translate:n\endcsname {Idea}*}{__idea__groups_tiny_star}
|
||||||
|
\csname __groupthm_thmtools_declare_theorem:nn\endcsname {sibling=sublevel,numbered=no,name=\csname __fancythm_translate:n\endcsname {Info}$^{\dagger }$}{__info__groups_tiny_dagger}
|
||||||
|
\csname __groupthm_thmtools_declare_theorem:nn\endcsname {sibling=sublevel,numbered=no,name=\csname __fancythm_translate:n\endcsname {Info}*$^{\dagger }$}{__info__groups_tiny_dagger_star}
|
||||||
|
\csname __groupthm_thmtools_declare_theorem:nn\endcsname {sibling=sublevel,numbered=no,name=\csname __fancythm_translate:n\endcsname {Info}*}{__info__groups_tiny_star}
|
||||||
|
\csname __groupthm_thmtools_declare_theorem:nn\endcsname {sibling=sublevel,numbered=no,name=\csname __fancythm_translate:n\endcsname {Intuition}$^{\dagger }$}{__intuition__groups_tiny_dagger}
|
||||||
|
\csname __groupthm_thmtools_declare_theorem:nn\endcsname {sibling=sublevel,numbered=no,name=\csname __fancythm_translate:n\endcsname {Intuition}*$^{\dagger }$}{__intuition__groups_tiny_dagger_star}
|
||||||
|
\csname __groupthm_thmtools_declare_theorem:nn\endcsname {sibling=sublevel,numbered=no,name=\csname __fancythm_translate:n\endcsname {Intuition}*}{__intuition__groups_tiny_star}
|
||||||
|
\csname __groupthm_thmtools_declare_theorem:nn\endcsname {sibling=sublevel,numbered=no,name=\csname __fancythm_translate:n\endcsname {Note}$^{\dagger }$}{__note__groups_tiny_dagger}
|
||||||
|
\csname __groupthm_thmtools_declare_theorem:nn\endcsname {sibling=sublevel,numbered=no,name=\csname __fancythm_translate:n\endcsname {Note}*$^{\dagger }$}{__note__groups_tiny_dagger_star}
|
||||||
|
\csname __groupthm_thmtools_declare_theorem:nn\endcsname {sibling=sublevel,numbered=no,name=\csname __fancythm_translate:n\endcsname {Note}*}{__note__groups_tiny_star}
|
||||||
|
\csname __groupthm_thmtools_declare_theorem:nn\endcsname {sibling=sublevel,numbered=no,name=\csname __fancythm_translate:n\endcsname {Observe}$^{\dagger }$}{__observe__groups_tiny_dagger}
|
||||||
|
\csname __groupthm_thmtools_declare_theorem:nn\endcsname {sibling=sublevel,numbered=no,name=\csname __fancythm_translate:n\endcsname {Observe}*$^{\dagger }$}{__observe__groups_tiny_dagger_star}
|
||||||
|
\csname __groupthm_thmtools_declare_theorem:nn\endcsname {sibling=sublevel,numbered=no,name=\csname __fancythm_translate:n\endcsname {Observe}*}{__observe__groups_tiny_star}
|
||||||
|
\csname __groupthm_thmtools_declare_theorem:nn\endcsname {sibling=sublevel,numbered=no,name=\csname __fancythm_translate:n\endcsname {Problem}$^{\dagger }$}{__problem__groups_tiny_dagger}
|
||||||
|
\csname __groupthm_thmtools_declare_theorem:nn\endcsname {sibling=sublevel,numbered=no,name=\csname __fancythm_translate:n\endcsname {Problem}*$^{\dagger }$}{__problem__groups_tiny_dagger_star}
|
||||||
|
\csname __groupthm_thmtools_declare_theorem:nn\endcsname {sibling=sublevel,numbered=no,name=\csname __fancythm_translate:n\endcsname {Problem}*}{__problem__groups_tiny_star}
|
||||||
|
\csname __groupthm_thmtools_declare_theorem:nn\endcsname {sibling=sublevel,numbered=no,name=\csname __fancythm_translate:n\endcsname {Property}$^{\dagger }$}{__property__groups_tiny_dagger}
|
||||||
|
\csname __groupthm_thmtools_declare_theorem:nn\endcsname {sibling=sublevel,numbered=no,name=\csname __fancythm_translate:n\endcsname {Property}*$^{\dagger }$}{__property__groups_tiny_dagger_star}
|
||||||
|
\csname __groupthm_thmtools_declare_theorem:nn\endcsname {sibling=sublevel,numbered=no,name=\csname __fancythm_translate:n\endcsname {Property}*}{__property__groups_tiny_star}
|
||||||
|
\csname __groupthm_thmtools_declare_theorem:nn\endcsname {sibling=sublevel,numbered=no,name=\csname __fancythm_translate:n\endcsname {Recall}$^{\dagger }$}{__recall__groups_tiny_dagger}
|
||||||
|
\csname __groupthm_thmtools_declare_theorem:nn\endcsname {sibling=sublevel,numbered=no,name=\csname __fancythm_translate:n\endcsname {Recall}*$^{\dagger }$}{__recall__groups_tiny_dagger_star}
|
||||||
|
\csname __groupthm_thmtools_declare_theorem:nn\endcsname {sibling=sublevel,numbered=no,name=\csname __fancythm_translate:n\endcsname {Recall}*}{__recall__groups_tiny_star}
|
||||||
|
\csname __groupthm_thmtools_declare_theorem:nn\endcsname {sibling=sublevel,numbered=no,name=\csname __fancythm_translate:n\endcsname {Reminder}$^{\dagger }$}{__reminder__groups_tiny_dagger}
|
||||||
|
\csname __groupthm_thmtools_declare_theorem:nn\endcsname {sibling=sublevel,numbered=no,name=\csname __fancythm_translate:n\endcsname {Reminder}*$^{\dagger }$}{__reminder__groups_tiny_dagger_star}
|
||||||
|
\csname __groupthm_thmtools_declare_theorem:nn\endcsname {sibling=sublevel,numbered=no,name=\csname __fancythm_translate:n\endcsname {Reminder}*}{__reminder__groups_tiny_star}
|
||||||
|
\csname __groupthm_thmtools_declare_theorem:nn\endcsname {sibling=sublevel,numbered=no,name=\csname __fancythm_translate:n\endcsname {Strategy}$^{\dagger }$}{__strategy__groups_tiny_dagger}
|
||||||
|
\csname __groupthm_thmtools_declare_theorem:nn\endcsname {sibling=sublevel,numbered=no,name=\csname __fancythm_translate:n\endcsname {Strategy}*$^{\dagger }$}{__strategy__groups_tiny_dagger_star}
|
||||||
|
\csname __groupthm_thmtools_declare_theorem:nn\endcsname {sibling=sublevel,numbered=no,name=\csname __fancythm_translate:n\endcsname {Strategy}*}{__strategy__groups_tiny_star}
|
||||||
|
\csname __groupthm_thmtools_declare_theorem:nn\endcsname {sibling=sublevel,numbered=no,name=\csname __fancythm_translate:n\endcsname {Variant}$^{\dagger }$}{__variant__groups_tiny_dagger}
|
||||||
|
\csname __groupthm_thmtools_declare_theorem:nn\endcsname {sibling=sublevel,numbered=no,name=\csname __fancythm_translate:n\endcsname {Variant}*$^{\dagger }$}{__variant__groups_tiny_dagger_star}
|
||||||
|
\csname __groupthm_thmtools_declare_theorem:nn\endcsname {sibling=sublevel,numbered=no,name=\csname __fancythm_translate:n\endcsname {Variant}*}{__variant__groups_tiny_star}
|
||||||
|
\csname __groupthm_thmtools_declare_theorem:nn\endcsname {sibling=sublevel,numbered=no,name=\csname __fancythm_translate:n\endcsname {Warning}$^{\dagger }$}{__warning__groups_tiny_dagger}
|
||||||
|
\csname __groupthm_thmtools_declare_theorem:nn\endcsname {sibling=sublevel,numbered=no,name=\csname __fancythm_translate:n\endcsname {Warning}*$^{\dagger }$}{__warning__groups_tiny_dagger_star}
|
||||||
|
\csname __groupthm_thmtools_declare_theorem:nn\endcsname {sibling=sublevel,numbered=no,name=\csname __fancythm_translate:n\endcsname {Warning}*}{__warning__groups_tiny_star}
|
||||||
|
\csname __groupthm_thmtools_declare_theorem:nn\endcsname {sibling=sublevel,sibling=sublevel,name=\csname __fancythm_translate:n\endcsname {Abuse of Notation}$^{\dagger }$,style=thmvioletmargin}{__abuse__groups_small_dagger}
|
||||||
|
\csname __groupthm_thmtools_declare_theorem:nn\endcsname {sibling=sublevel,sibling=sublevel,name=\csname __fancythm_translate:n\endcsname {Abuse of Notation}*$^{\dagger }$,style=thmvioletmargin}{__abuse__groups_small_dagger_star}
|
||||||
|
\csname __groupthm_thmtools_declare_theorem:nn\endcsname {sibling=sublevel,sibling=sublevel,name=\csname __fancythm_translate:n\endcsname {Abuse of Notation}*,style=thmvioletmargin}{__abuse__groups_small_star}
|
||||||
|
\csname __groupthm_thmtools_declare_theorem:nn\endcsname {sibling=sublevel,sibling=sublevel,name=\csname __fancythm_translate:n\endcsname {Fact}$^{\dagger }$,style=thmredmargin}{__fact__groups_small_dagger}
|
||||||
|
\csname __groupthm_thmtools_declare_theorem:nn\endcsname {sibling=sublevel,sibling=sublevel,name=\csname __fancythm_translate:n\endcsname {Fact}*$^{\dagger }$,style=thmredmargin}{__fact__groups_small_dagger_star}
|
||||||
|
\csname __groupthm_thmtools_declare_theorem:nn\endcsname {sibling=sublevel,sibling=sublevel,name=\csname __fancythm_translate:n\endcsname {Fact}*,style=thmredmargin}{__fact__groups_small_star}
|
||||||
|
\csname __groupthm_thmtools_declare_theorem:nn\endcsname {sibling=sublevel,sibling=sublevel,name=\csname __fancythm_translate:n\endcsname {Notation}$^{\dagger }$,style=thmvioletmargin}{__notation__groups_small_dagger}
|
||||||
|
\csname __groupthm_thmtools_declare_theorem:nn\endcsname {sibling=sublevel,sibling=sublevel,name=\csname __fancythm_translate:n\endcsname {Notation}*$^{\dagger }$,style=thmvioletmargin}{__notation__groups_small_dagger_star}
|
||||||
|
\csname __groupthm_thmtools_declare_theorem:nn\endcsname {sibling=sublevel,sibling=sublevel,name=\csname __fancythm_translate:n\endcsname {Notation}*,style=thmvioletmargin}{__notation__groups_small_star}
|
||||||
|
\csname __groupthm_thmtools_declare_theorem:nn\endcsname {sibling=sublevel,sibling=sublevel,name=\csname __fancythm_translate:n\endcsname {Oral remark}$^{\dagger }$,style=thmyellowmargin}{__oral__groups_small_dagger}
|
||||||
|
\csname __groupthm_thmtools_declare_theorem:nn\endcsname {sibling=sublevel,sibling=sublevel,name=\csname __fancythm_translate:n\endcsname {Oral remark}*$^{\dagger }$,style=thmyellowmargin}{__oral__groups_small_dagger_star}
|
||||||
|
\csname __groupthm_thmtools_declare_theorem:nn\endcsname {sibling=sublevel,sibling=sublevel,name=\csname __fancythm_translate:n\endcsname {Oral remark}*,style=thmyellowmargin}{__oral__groups_small_star}
|
||||||
|
\csname __groupthm_thmtools_declare_theorem:nn\endcsname {sibling=sublevel,sibling=sublevel,name=\csname __fancythm_translate:n\endcsname {Orga}$^{\dagger }$,style=thmblackmargin}{__orga__groups_small_dagger}
|
||||||
|
\csname __groupthm_thmtools_declare_theorem:nn\endcsname {sibling=sublevel,sibling=sublevel,name=\csname __fancythm_translate:n\endcsname {Orga}*$^{\dagger }$,style=thmblackmargin}{__orga__groups_small_dagger_star}
|
||||||
|
\csname __groupthm_thmtools_declare_theorem:nn\endcsname {sibling=sublevel,sibling=sublevel,name=\csname __fancythm_translate:n\endcsname {Orga}*,style=thmblackmargin}{__orga__groups_small_star}
|
||||||
|
\csname __groupthm_thmtools_declare_theorem:nn\endcsname {sibling=sublevel,sibling=sublevel,name=\csname __fancythm_translate:n\endcsname {Praise}$^{\dagger }$,style=thmgoldmargin}{__praise__groups_small_dagger}
|
||||||
|
\csname __groupthm_thmtools_declare_theorem:nn\endcsname {sibling=sublevel,sibling=sublevel,name=\csname __fancythm_translate:n\endcsname {Praise}*$^{\dagger }$,style=thmgoldmargin}{__praise__groups_small_dagger_star}
|
||||||
|
\csname __groupthm_thmtools_declare_theorem:nn\endcsname {sibling=sublevel,sibling=sublevel,name=\csname __fancythm_translate:n\endcsname {Praise}*,style=thmgoldmargin}{__praise__groups_small_star}
|
||||||
|
\csname __groupthm_thmtools_declare_theorem:nn\endcsname {sibling=sublevel,sibling=sublevel,name=\csname __fancythm_translate:n\endcsname {Question}$^{\dagger }$,style=thmblackmarginandfill}{__question__groups_small_dagger}
|
||||||
|
\csname __groupthm_thmtools_declare_theorem:nn\endcsname {sibling=sublevel,sibling=sublevel,name=\csname __fancythm_translate:n\endcsname {Question}*$^{\dagger }$,style=thmblackmarginandfill}{__question__groups_small_dagger_star}
|
||||||
|
\csname __groupthm_thmtools_declare_theorem:nn\endcsname {sibling=sublevel,sibling=sublevel,name=\csname __fancythm_translate:n\endcsname {Question}*,style=thmblackmarginandfill}{__question__groups_small_star}
|
||||||
|
\csname __groupthm_thmtools_declare_theorem:nn\endcsname {sibling=sublevel,sibling=sublevel,name=\csname __fancythm_translate:n\endcsname {Remark}$^{\dagger }$,style=thmyellowmargin}{__remark__groups_small_dagger}
|
||||||
|
\csname __groupthm_thmtools_declare_theorem:nn\endcsname {sibling=sublevel,sibling=sublevel,name=\csname __fancythm_translate:n\endcsname {Remark}*$^{\dagger }$,style=thmyellowmargin}{__remark__groups_small_dagger_star}
|
||||||
|
\csname __groupthm_thmtools_declare_theorem:nn\endcsname {sibling=sublevel,sibling=sublevel,name=\csname __fancythm_translate:n\endcsname {Remark}*,style=thmyellowmargin}{__remark__groups_small_star}
|
||||||
|
\csname __groupthm_thmtools_declare_theorem:nn\endcsname {sibling=sublevel,sibling=sublevel,name=\csname __fancythm_translate:n\endcsname {Trivial Nonsense}$^{\dagger }$,style=thmyellowmargin}{__trivial__groups_small_dagger}
|
||||||
|
\csname __groupthm_thmtools_declare_theorem:nn\endcsname {sibling=sublevel,sibling=sublevel,name=\csname __fancythm_translate:n\endcsname {Trivial Nonsense}*$^{\dagger }$,style=thmyellowmargin}{__trivial__groups_small_dagger_star}
|
||||||
|
\csname __groupthm_thmtools_declare_theorem:nn\endcsname {sibling=sublevel,sibling=sublevel,name=\csname __fancythm_translate:n\endcsname {Trivial Nonsense}*,style=thmyellowmargin}{__trivial__groups_small_star}
|
||||||
|
\csname __groupthm_thmtools_declare_theorem:nn\endcsname {sibling=toplevel,name=\csname __fancythm_translate:n\endcsname {Corollary},style=thmredmarginandfill}{__corollary__groups_big}
|
||||||
|
\csname __groupthm_thmtools_declare_theorem:nn\endcsname {sibling=toplevel,name=\csname __fancythm_translate:n\endcsname {Definition},style=thmbluemarginandfill}{__definition__groups_big}
|
||||||
|
\csname __groupthm_thmtools_declare_theorem:nn\endcsname {sibling=toplevel,name=\csname __fancythm_translate:n\endcsname {Example},style=thmgreenmargin}{__example__groups_big}
|
||||||
|
\csname __groupthm_thmtools_declare_theorem:nn\endcsname {sibling=toplevel,name=\csname __fancythm_translate:n\endcsname {Lemma},style=thmorangemarginandfill}{__lemma__groups_big}
|
||||||
|
\csname __groupthm_thmtools_declare_theorem:nn\endcsname {sibling=toplevel,name=\csname __fancythm_translate:n\endcsname {Proposition and Definition},style=thmredmarginbluefill}{__propositiondef__groups_big}
|
||||||
|
\csname __groupthm_thmtools_declare_theorem:nn\endcsname {sibling=toplevel,name=\csname __fancythm_translate:n\endcsname {Proposition},style=thmredmarginandfill}{__proposition__groups_big}
|
||||||
|
\csname __groupthm_thmtools_declare_theorem:nn\endcsname {sibling=toplevel,name=\csname __fancythm_translate:n\endcsname {Theorem and Definition},style=thmredmarginbluefill}{__theoremdef__groups_big}
|
||||||
|
\csname __groupthm_thmtools_declare_theorem:nn\endcsname {sibling=toplevel,name=\csname __fancythm_translate:n\endcsname {Theorem},style=thmredmarginandfill}{__theorem__groups_big}
|
||||||
|
\csname __groupthm_thmtools_declare_theorem:nn\endcsname {sibling=toplevel,sibling=sublevel,name=\csname __fancythm_translate:n\endcsname {Corollary}$^{\dagger }$,style=thmredmarginandfill}{__corollary__groups_big_dagger}
|
||||||
|
\csname __groupthm_thmtools_declare_theorem:nn\endcsname {sibling=toplevel,sibling=sublevel,name=\csname __fancythm_translate:n\endcsname {Corollary}*$^{\dagger }$,style=thmredmarginandfill}{__corollary__groups_big_dagger_star}
|
||||||
|
\csname __groupthm_thmtools_declare_theorem:nn\endcsname {sibling=toplevel,sibling=sublevel,name=\csname __fancythm_translate:n\endcsname {Corollary}*,style=thmredmarginandfill}{__corollary__groups_big_star}
|
||||||
|
\csname __groupthm_thmtools_declare_theorem:nn\endcsname {sibling=toplevel,sibling=sublevel,name=\csname __fancythm_translate:n\endcsname {Definition}$^{\dagger }$,style=thmbluemarginandfill}{__definition__groups_big_dagger}
|
||||||
|
\csname __groupthm_thmtools_declare_theorem:nn\endcsname {sibling=toplevel,sibling=sublevel,name=\csname __fancythm_translate:n\endcsname {Definition}*$^{\dagger }$,style=thmbluemarginandfill}{__definition__groups_big_dagger_star}
|
||||||
|
\csname __groupthm_thmtools_declare_theorem:nn\endcsname {sibling=toplevel,sibling=sublevel,name=\csname __fancythm_translate:n\endcsname {Definition}*,style=thmbluemarginandfill}{__definition__groups_big_star}
|
||||||
|
\csname __groupthm_thmtools_declare_theorem:nn\endcsname {sibling=toplevel,sibling=sublevel,name=\csname __fancythm_translate:n\endcsname {Example}$^{\dagger }$,style=thmgreenmargin}{__example__groups_big_dagger}
|
||||||
|
\csname __groupthm_thmtools_declare_theorem:nn\endcsname {sibling=toplevel,sibling=sublevel,name=\csname __fancythm_translate:n\endcsname {Example}*$^{\dagger }$,style=thmgreenmargin}{__example__groups_big_dagger_star}
|
||||||
|
\csname __groupthm_thmtools_declare_theorem:nn\endcsname {sibling=toplevel,sibling=sublevel,name=\csname __fancythm_translate:n\endcsname {Example}*,style=thmgreenmargin}{__example__groups_big_star}
|
||||||
|
\csname __groupthm_thmtools_declare_theorem:nn\endcsname {sibling=toplevel,sibling=sublevel,name=\csname __fancythm_translate:n\endcsname {Lemma}$^{\dagger }$,style=thmorangemarginandfill}{__lemma__groups_big_dagger}
|
||||||
|
\csname __groupthm_thmtools_declare_theorem:nn\endcsname {sibling=toplevel,sibling=sublevel,name=\csname __fancythm_translate:n\endcsname {Lemma}*$^{\dagger }$,style=thmorangemarginandfill}{__lemma__groups_big_dagger_star}
|
||||||
|
\csname __groupthm_thmtools_declare_theorem:nn\endcsname {sibling=toplevel,sibling=sublevel,name=\csname __fancythm_translate:n\endcsname {Lemma}*,style=thmorangemarginandfill}{__lemma__groups_big_star}
|
||||||
|
\csname __groupthm_thmtools_declare_theorem:nn\endcsname {sibling=toplevel,sibling=sublevel,name=\csname __fancythm_translate:n\endcsname {Proposition and Definition}$^{\dagger }$,style=thmredmarginbluefill}{__propositiondef__groups_big_dagger}
|
||||||
|
\csname __groupthm_thmtools_declare_theorem:nn\endcsname {sibling=toplevel,sibling=sublevel,name=\csname __fancythm_translate:n\endcsname {Proposition and Definition}*$^{\dagger }$,style=thmredmarginbluefill}{__propositiondef__groups_big_dagger_star}
|
||||||
|
\csname __groupthm_thmtools_declare_theorem:nn\endcsname {sibling=toplevel,sibling=sublevel,name=\csname __fancythm_translate:n\endcsname {Proposition and Definition}*,style=thmredmarginbluefill}{__propositiondef__groups_big_star}
|
||||||
|
\csname __groupthm_thmtools_declare_theorem:nn\endcsname {sibling=toplevel,sibling=sublevel,name=\csname __fancythm_translate:n\endcsname {Proposition}$^{\dagger }$,style=thmredmarginandfill}{__proposition__groups_big_dagger}
|
||||||
|
\csname __groupthm_thmtools_declare_theorem:nn\endcsname {sibling=toplevel,sibling=sublevel,name=\csname __fancythm_translate:n\endcsname {Proposition}*$^{\dagger }$,style=thmredmarginandfill}{__proposition__groups_big_dagger_star}
|
||||||
|
\csname __groupthm_thmtools_declare_theorem:nn\endcsname {sibling=toplevel,sibling=sublevel,name=\csname __fancythm_translate:n\endcsname {Proposition}*,style=thmredmarginandfill}{__proposition__groups_big_star}
|
||||||
|
\csname __groupthm_thmtools_declare_theorem:nn\endcsname {sibling=toplevel,sibling=sublevel,name=\csname __fancythm_translate:n\endcsname {Theorem and Definition}$^{\dagger }$,style=thmredmarginbluefill}{__theoremdef__groups_big_dagger}
|
||||||
|
\csname __groupthm_thmtools_declare_theorem:nn\endcsname {sibling=toplevel,sibling=sublevel,name=\csname __fancythm_translate:n\endcsname {Theorem and Definition}*$^{\dagger }$,style=thmredmarginbluefill}{__theoremdef__groups_big_dagger_star}
|
||||||
|
\csname __groupthm_thmtools_declare_theorem:nn\endcsname {sibling=toplevel,sibling=sublevel,name=\csname __fancythm_translate:n\endcsname {Theorem and Definition}*,style=thmredmarginbluefill}{__theoremdef__groups_big_star}
|
||||||
|
\csname __groupthm_thmtools_declare_theorem:nn\endcsname {sibling=toplevel,sibling=sublevel,name=\csname __fancythm_translate:n\endcsname {Theorem}$^{\dagger }$,style=thmredmarginandfill}{__theorem__groups_big_dagger}
|
||||||
|
\csname __groupthm_thmtools_declare_theorem:nn\endcsname {sibling=toplevel,sibling=sublevel,name=\csname __fancythm_translate:n\endcsname {Theorem}*$^{\dagger }$,style=thmredmarginandfill}{__theorem__groups_big_dagger_star}
|
||||||
|
\csname __groupthm_thmtools_declare_theorem:nn\endcsname {sibling=toplevel,sibling=sublevel,name=\csname __fancythm_translate:n\endcsname {Theorem}*,style=thmredmarginandfill}{__theorem__groups_big_star}
|
||||||
|
\csname __groupthm_define_family_options:nnnn\endcsname {abuse}{!s!t+}{\IfBooleanT {#1}{\AddTheoremToGroup {star}}\IfBooleanT {#2}{\AddTheoremToGroup {dagger}}}{small}
|
||||||
|
\csname __groupthm_define_family_options:nnnn\endcsname {assumption}{!s!t+}{\IfBooleanT {#1}{\AddTheoremToGroup {star}}\IfBooleanT {#2}{\AddTheoremToGroup {dagger}}}{tiny}
|
||||||
|
\csname __groupthm_define_family_options:nnnn\endcsname {corollary}{!s!t+}{\IfBooleanT {#1}{\AddTheoremToGroup {star}}\IfBooleanT {#2}{\AddTheoremToGroup {dagger}}}{big}
|
||||||
|
\csname __groupthm_define_family_options:nnnn\endcsname {definition}{!s!t+}{\IfBooleanT {#1}{\AddTheoremToGroup {star}}\IfBooleanT {#2}{\AddTheoremToGroup {dagger}}}{big}
|
||||||
|
\csname __groupthm_define_family_options:nnnn\endcsname {example}{!s!t+}{\IfBooleanT {#1}{\AddTheoremToGroup {star}}\IfBooleanT {#2}{\AddTheoremToGroup {dagger}}}{big}
|
||||||
|
\csname __groupthm_define_family_options:nnnn\endcsname {exercise}{!s!t+}{\IfBooleanT {#1}{\AddTheoremToGroup {star}}\IfBooleanT {#2}{\AddTheoremToGroup {dagger}}}{tiny}
|
||||||
|
\csname __groupthm_define_family_options:nnnn\endcsname {fact}{!s!t+}{\IfBooleanT {#1}{\AddTheoremToGroup {star}}\IfBooleanT {#2}{\AddTheoremToGroup {dagger}}}{small}
|
||||||
|
\csname __groupthm_define_family_options:nnnn\endcsname {goal}{!s!t+}{\IfBooleanT {#1}{\AddTheoremToGroup {star}}\IfBooleanT {#2}{\AddTheoremToGroup {dagger}}}{tiny}
|
||||||
|
\csname __groupthm_define_family_options:nnnn\endcsname {idea}{!s!t+}{\IfBooleanT {#1}{\AddTheoremToGroup {star}}\IfBooleanT {#2}{\AddTheoremToGroup {dagger}}}{tiny}
|
||||||
|
\csname __groupthm_define_family_options:nnnn\endcsname {info}{!s!t+}{\IfBooleanT {#1}{\AddTheoremToGroup {star}}\IfBooleanT {#2}{\AddTheoremToGroup {dagger}}}{tiny}
|
||||||
|
\csname __groupthm_define_family_options:nnnn\endcsname {intuition}{!s!t+}{\IfBooleanT {#1}{\AddTheoremToGroup {star}}\IfBooleanT {#2}{\AddTheoremToGroup {dagger}}}{tiny}
|
||||||
|
\csname __groupthm_define_family_options:nnnn\endcsname {lemma}{!s!t+}{\IfBooleanT {#1}{\AddTheoremToGroup {star}}\IfBooleanT {#2}{\AddTheoremToGroup {dagger}}}{big}
|
||||||
|
\csname __groupthm_define_family_options:nnnn\endcsname {notation}{!s!t+}{\IfBooleanT {#1}{\AddTheoremToGroup {star}}\IfBooleanT {#2}{\AddTheoremToGroup {dagger}}}{small}
|
||||||
|
\csname __groupthm_define_family_options:nnnn\endcsname {note}{!s!t+}{\IfBooleanT {#1}{\AddTheoremToGroup {star}}\IfBooleanT {#2}{\AddTheoremToGroup {dagger}}}{tiny}
|
||||||
|
\csname __groupthm_define_family_options:nnnn\endcsname {observe}{!s!t+}{\IfBooleanT {#1}{\AddTheoremToGroup {star}}\IfBooleanT {#2}{\AddTheoremToGroup {dagger}}}{tiny}
|
||||||
|
\csname __groupthm_define_family_options:nnnn\endcsname {oral}{!s!t+}{\IfBooleanT {#1}{\AddTheoremToGroup {star}}\IfBooleanT {#2}{\AddTheoremToGroup {dagger}}}{small}
|
||||||
|
\csname __groupthm_define_family_options:nnnn\endcsname {orga}{!s!t+}{\IfBooleanT {#1}{\AddTheoremToGroup {star}}\IfBooleanT {#2}{\AddTheoremToGroup {dagger}}}{small}
|
||||||
|
\csname __groupthm_define_family_options:nnnn\endcsname {praise}{!s!t+}{\IfBooleanT {#1}{\AddTheoremToGroup {star}}\IfBooleanT {#2}{\AddTheoremToGroup {dagger}}}{small}
|
||||||
|
\csname __groupthm_define_family_options:nnnn\endcsname {problem}{!s!t+}{\IfBooleanT {#1}{\AddTheoremToGroup {star}}\IfBooleanT {#2}{\AddTheoremToGroup {dagger}}}{tiny}
|
||||||
|
\csname __groupthm_define_family_options:nnnn\endcsname {property}{!s!t+}{\IfBooleanT {#1}{\AddTheoremToGroup {star}}\IfBooleanT {#2}{\AddTheoremToGroup {dagger}}}{tiny}
|
||||||
|
\csname __groupthm_define_family_options:nnnn\endcsname {propositiondef}{!s!t+}{\IfBooleanT {#1}{\AddTheoremToGroup {star}}\IfBooleanT {#2}{\AddTheoremToGroup {dagger}}}{big}
|
||||||
|
\csname __groupthm_define_family_options:nnnn\endcsname {proposition}{!s!t+}{\IfBooleanT {#1}{\AddTheoremToGroup {star}}\IfBooleanT {#2}{\AddTheoremToGroup {dagger}}}{big}
|
||||||
|
\csname __groupthm_define_family_options:nnnn\endcsname {question}{!s!t+}{\IfBooleanT {#1}{\AddTheoremToGroup {star}}\IfBooleanT {#2}{\AddTheoremToGroup {dagger}}}{small}
|
||||||
|
\csname __groupthm_define_family_options:nnnn\endcsname {recall}{!s!t+}{\IfBooleanT {#1}{\AddTheoremToGroup {star}}\IfBooleanT {#2}{\AddTheoremToGroup {dagger}}}{tiny}
|
||||||
|
\csname __groupthm_define_family_options:nnnn\endcsname {remark}{!s!t+}{\IfBooleanT {#1}{\AddTheoremToGroup {star}}\IfBooleanT {#2}{\AddTheoremToGroup {dagger}}}{small}
|
||||||
|
\csname __groupthm_define_family_options:nnnn\endcsname {reminder}{!s!t+}{\IfBooleanT {#1}{\AddTheoremToGroup {star}}\IfBooleanT {#2}{\AddTheoremToGroup {dagger}}}{tiny}
|
||||||
|
\csname __groupthm_define_family_options:nnnn\endcsname {strategy}{!s!t+}{\IfBooleanT {#1}{\AddTheoremToGroup {star}}\IfBooleanT {#2}{\AddTheoremToGroup {dagger}}}{tiny}
|
||||||
|
\csname __groupthm_define_family_options:nnnn\endcsname {theoremdef}{!s!t+}{\IfBooleanT {#1}{\AddTheoremToGroup {star}}\IfBooleanT {#2}{\AddTheoremToGroup {dagger}}}{big}
|
||||||
|
\csname __groupthm_define_family_options:nnnn\endcsname {theorem}{!s!t+}{\IfBooleanT {#1}{\AddTheoremToGroup {star}}\IfBooleanT {#2}{\AddTheoremToGroup {dagger}}}{big}
|
||||||
|
\csname __groupthm_define_family_options:nnnn\endcsname {trivial}{!s!t+}{\IfBooleanT {#1}{\AddTheoremToGroup {star}}\IfBooleanT {#2}{\AddTheoremToGroup {dagger}}}{small}
|
||||||
|
\csname __groupthm_define_family_options:nnnn\endcsname {variant}{!s!t+}{\IfBooleanT {#1}{\AddTheoremToGroup {star}}\IfBooleanT {#2}{\AddTheoremToGroup {dagger}}}{tiny}
|
||||||
|
\csname __groupthm_define_family_options:nnnn\endcsname {warning}{!s!t+}{\IfBooleanT {#1}{\AddTheoremToGroup {star}}\IfBooleanT {#2}{\AddTheoremToGroup {dagger}}}{tiny}
|
||||||
|
}
|
||||||
|
}
|
||||||
\ExplSyntaxOff
|
\ExplSyntaxOff
|
||||||
|
|
||||||
\AddProvidedFancyTheoremToGroup{lemma}{small}
|
|
||||||
|
|
||||||
\begin{document}
|
\begin{document}
|
||||||
|
|
||||||
\section{test}
|
\begin{abuse}
|
||||||
|
|
||||||
\stepcounter{toplevel}
|
|
||||||
|
|
||||||
|
|
||||||
\begin{example}
|
|
||||||
test
|
|
||||||
\end{example}
|
|
||||||
|
|
||||||
\begin{example}+
|
|
||||||
test
|
|
||||||
\end{example}
|
|
||||||
|
|
||||||
\begin{example}*
|
|
||||||
|
|
||||||
\end{example}
|
\end{abuse}
|
||||||
|
|
||||||
\begin{lemma}
|
|
||||||
|
|
||||||
\end{lemma}
|
|
||||||
|
|
||||||
\begin{definition}
|
|
||||||
test
|
|
||||||
\end{definition}
|
|
||||||
|
|
||||||
\begin{definition}*
|
|
||||||
bla
|
|
||||||
\end{definition}
|
|
||||||
|
|
||||||
\begin{theoremdef}
|
|
||||||
test
|
|
||||||
\end{theoremdef}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
\begin{goal}+
|
|
||||||
test
|
|
||||||
\end{goal}
|
|
||||||
|
|
||||||
|
|
||||||
|
nothing
|
||||||
\end{document}
|
\end{document}
|
||||||
|
|
194
tests/environments/fancythm/test2.tex
Normal file
194
tests/environments/fancythm/test2.tex
Normal file
|
@ -0,0 +1,194 @@
|
||||||
|
\documentclass{minimal}
|
||||||
|
|
||||||
|
\usepackage{l3benchmark}
|
||||||
|
|
||||||
|
\usepackage[generate defaults = false]{fancythm}
|
||||||
|
|
||||||
|
\ExplSyntaxOn
|
||||||
|
|
||||||
|
\iow_new:N \l_my_iow
|
||||||
|
\iow_open:Nn \l_my_iow { dump2.txt }
|
||||||
|
\tl_put_right:Nn \l_tmpa_tl
|
||||||
|
{
|
||||||
|
\csname __groupthm_thmtools_declare_theorem:nn\endcsname {numbered=no,name=\csname __fancythm_translate:n\endcsname {Assumption}}{__assumption__groups_tiny}
|
||||||
|
\csname __groupthm_thmtools_declare_theorem:nn\endcsname {numbered=no,name=\csname __fancythm_translate:n\endcsname {Exercise}}{__exercise__groups_tiny}
|
||||||
|
\csname __groupthm_thmtools_declare_theorem:nn\endcsname {numbered=no,name=\csname __fancythm_translate:n\endcsname {Goal}}{__goal__groups_tiny}
|
||||||
|
\csname __groupthm_thmtools_declare_theorem:nn\endcsname {numbered=no,name=\csname __fancythm_translate:n\endcsname {Idea}}{__idea__groups_tiny}
|
||||||
|
\csname __groupthm_thmtools_declare_theorem:nn\endcsname {numbered=no,name=\csname __fancythm_translate:n\endcsname {Info}}{__info__groups_tiny}
|
||||||
|
\csname __groupthm_thmtools_declare_theorem:nn\endcsname {numbered=no,name=\csname __fancythm_translate:n\endcsname {Intuition}}{__intuition__groups_tiny}
|
||||||
|
\csname __groupthm_thmtools_declare_theorem:nn\endcsname {numbered=no,name=\csname __fancythm_translate:n\endcsname {Note}}{__note__groups_tiny}
|
||||||
|
\csname __groupthm_thmtools_declare_theorem:nn\endcsname {numbered=no,name=\csname __fancythm_translate:n\endcsname {Observe}}{__observe__groups_tiny}
|
||||||
|
\csname __groupthm_thmtools_declare_theorem:nn\endcsname {numbered=no,name=\csname __fancythm_translate:n\endcsname {Problem}}{__problem__groups_tiny}
|
||||||
|
\csname __groupthm_thmtools_declare_theorem:nn\endcsname {numbered=no,name=\csname __fancythm_translate:n\endcsname {Property}}{__property__groups_tiny}
|
||||||
|
\csname __groupthm_thmtools_declare_theorem:nn\endcsname {numbered=no,name=\csname __fancythm_translate:n\endcsname {Recall}}{__recall__groups_tiny}
|
||||||
|
\csname __groupthm_thmtools_declare_theorem:nn\endcsname {numbered=no,name=\csname __fancythm_translate:n\endcsname {Reminder}}{__reminder__groups_tiny}
|
||||||
|
\csname __groupthm_thmtools_declare_theorem:nn\endcsname {numbered=no,name=\csname __fancythm_translate:n\endcsname {Strategy}}{__strategy__groups_tiny}
|
||||||
|
\csname __groupthm_thmtools_declare_theorem:nn\endcsname {numbered=no,name=\csname __fancythm_translate:n\endcsname {Variant}}{__variant__groups_tiny}
|
||||||
|
\csname __groupthm_thmtools_declare_theorem:nn\endcsname {numbered=no,name=\csname __fancythm_translate:n\endcsname {Warning}}{__warning__groups_tiny}
|
||||||
|
\csname __groupthm_thmtools_declare_theorem:nn\endcsname {sibling=sublevel,name=\csname __fancythm_translate:n\endcsname {Abuse of Notation},style=thmvioletmargin}{__abuse__groups_small}
|
||||||
|
\csname __groupthm_thmtools_declare_theorem:nn\endcsname {sibling=sublevel,name=\csname __fancythm_translate:n\endcsname {Fact},style=thmredmargin}{__fact__groups_small}
|
||||||
|
\csname __groupthm_thmtools_declare_theorem:nn\endcsname {sibling=sublevel,name=\csname __fancythm_translate:n\endcsname {Notation},style=thmvioletmargin}{__notation__groups_small}
|
||||||
|
\csname __groupthm_thmtools_declare_theorem:nn\endcsname {sibling=sublevel,name=\csname __fancythm_translate:n\endcsname {Oral remark},style=thmyellowmargin}{__oral__groups_small}
|
||||||
|
\csname __groupthm_thmtools_declare_theorem:nn\endcsname {sibling=sublevel,name=\csname __fancythm_translate:n\endcsname {Orga},style=thmblackmargin}{__orga__groups_small}
|
||||||
|
\csname __groupthm_thmtools_declare_theorem:nn\endcsname {sibling=sublevel,name=\csname __fancythm_translate:n\endcsname {Praise},style=thmgoldmargin}{__praise__groups_small}
|
||||||
|
\csname __groupthm_thmtools_declare_theorem:nn\endcsname {sibling=sublevel,name=\csname __fancythm_translate:n\endcsname {Question},style=thmblackmarginandfill}{__question__groups_small}
|
||||||
|
\csname __groupthm_thmtools_declare_theorem:nn\endcsname {sibling=sublevel,name=\csname __fancythm_translate:n\endcsname {Remark},style=thmyellowmargin}{__remark__groups_small}
|
||||||
|
\csname __groupthm_thmtools_declare_theorem:nn\endcsname {sibling=sublevel,name=\csname __fancythm_translate:n\endcsname {Trivial Nonsense},style=thmyellowmargin}{__trivial__groups_small}
|
||||||
|
\csname __groupthm_thmtools_declare_theorem:nn\endcsname {sibling=sublevel,numbered=no,name=\csname __fancythm_translate:n\endcsname {Assumption}$^{\dagger }$}{__assumption__groups_tiny_dagger}
|
||||||
|
\csname __groupthm_thmtools_declare_theorem:nn\endcsname {sibling=sublevel,numbered=no,name=\csname __fancythm_translate:n\endcsname {Assumption}*$^{\dagger }$}{__assumption__groups_tiny_dagger_star}
|
||||||
|
\csname __groupthm_thmtools_declare_theorem:nn\endcsname {sibling=sublevel,numbered=no,name=\csname __fancythm_translate:n\endcsname {Assumption}*}{__assumption__groups_tiny_star}
|
||||||
|
\csname __groupthm_thmtools_declare_theorem:nn\endcsname {sibling=sublevel,numbered=no,name=\csname __fancythm_translate:n\endcsname {Exercise}$^{\dagger }$}{__exercise__groups_tiny_dagger}
|
||||||
|
\csname __groupthm_thmtools_declare_theorem:nn\endcsname {sibling=sublevel,numbered=no,name=\csname __fancythm_translate:n\endcsname {Exercise}*$^{\dagger }$}{__exercise__groups_tiny_dagger_star}
|
||||||
|
\csname __groupthm_thmtools_declare_theorem:nn\endcsname {sibling=sublevel,numbered=no,name=\csname __fancythm_translate:n\endcsname {Exercise}*}{__exercise__groups_tiny_star}
|
||||||
|
\csname __groupthm_thmtools_declare_theorem:nn\endcsname {sibling=sublevel,numbered=no,name=\csname __fancythm_translate:n\endcsname {Goal}$^{\dagger }$}{__goal__groups_tiny_dagger}
|
||||||
|
\csname __groupthm_thmtools_declare_theorem:nn\endcsname {sibling=sublevel,numbered=no,name=\csname __fancythm_translate:n\endcsname {Goal}*$^{\dagger }$}{__goal__groups_tiny_dagger_star}
|
||||||
|
\csname __groupthm_thmtools_declare_theorem:nn\endcsname {sibling=sublevel,numbered=no,name=\csname __fancythm_translate:n\endcsname {Goal}*}{__goal__groups_tiny_star}
|
||||||
|
\csname __groupthm_thmtools_declare_theorem:nn\endcsname {sibling=sublevel,numbered=no,name=\csname __fancythm_translate:n\endcsname {Idea}$^{\dagger }$}{__idea__groups_tiny_dagger}
|
||||||
|
\csname __groupthm_thmtools_declare_theorem:nn\endcsname {sibling=sublevel,numbered=no,name=\csname __fancythm_translate:n\endcsname {Idea}*$^{\dagger }$}{__idea__groups_tiny_dagger_star}
|
||||||
|
\csname __groupthm_thmtools_declare_theorem:nn\endcsname {sibling=sublevel,numbered=no,name=\csname __fancythm_translate:n\endcsname {Idea}*}{__idea__groups_tiny_star}
|
||||||
|
\csname __groupthm_thmtools_declare_theorem:nn\endcsname {sibling=sublevel,numbered=no,name=\csname __fancythm_translate:n\endcsname {Info}$^{\dagger }$}{__info__groups_tiny_dagger}
|
||||||
|
\csname __groupthm_thmtools_declare_theorem:nn\endcsname {sibling=sublevel,numbered=no,name=\csname __fancythm_translate:n\endcsname {Info}*$^{\dagger }$}{__info__groups_tiny_dagger_star}
|
||||||
|
\csname __groupthm_thmtools_declare_theorem:nn\endcsname {sibling=sublevel,numbered=no,name=\csname __fancythm_translate:n\endcsname {Info}*}{__info__groups_tiny_star}
|
||||||
|
\csname __groupthm_thmtools_declare_theorem:nn\endcsname {sibling=sublevel,numbered=no,name=\csname __fancythm_translate:n\endcsname {Intuition}$^{\dagger }$}{__intuition__groups_tiny_dagger}
|
||||||
|
\csname __groupthm_thmtools_declare_theorem:nn\endcsname {sibling=sublevel,numbered=no,name=\csname __fancythm_translate:n\endcsname {Intuition}*$^{\dagger }$}{__intuition__groups_tiny_dagger_star}
|
||||||
|
\csname __groupthm_thmtools_declare_theorem:nn\endcsname {sibling=sublevel,numbered=no,name=\csname __fancythm_translate:n\endcsname {Intuition}*}{__intuition__groups_tiny_star}
|
||||||
|
\csname __groupthm_thmtools_declare_theorem:nn\endcsname {sibling=sublevel,numbered=no,name=\csname __fancythm_translate:n\endcsname {Note}$^{\dagger }$}{__note__groups_tiny_dagger}
|
||||||
|
\csname __groupthm_thmtools_declare_theorem:nn\endcsname {sibling=sublevel,numbered=no,name=\csname __fancythm_translate:n\endcsname {Note}*$^{\dagger }$}{__note__groups_tiny_dagger_star}
|
||||||
|
\csname __groupthm_thmtools_declare_theorem:nn\endcsname {sibling=sublevel,numbered=no,name=\csname __fancythm_translate:n\endcsname {Note}*}{__note__groups_tiny_star}
|
||||||
|
\csname __groupthm_thmtools_declare_theorem:nn\endcsname {sibling=sublevel,numbered=no,name=\csname __fancythm_translate:n\endcsname {Observe}$^{\dagger }$}{__observe__groups_tiny_dagger}
|
||||||
|
\csname __groupthm_thmtools_declare_theorem:nn\endcsname {sibling=sublevel,numbered=no,name=\csname __fancythm_translate:n\endcsname {Observe}*$^{\dagger }$}{__observe__groups_tiny_dagger_star}
|
||||||
|
\csname __groupthm_thmtools_declare_theorem:nn\endcsname {sibling=sublevel,numbered=no,name=\csname __fancythm_translate:n\endcsname {Observe}*}{__observe__groups_tiny_star}
|
||||||
|
\csname __groupthm_thmtools_declare_theorem:nn\endcsname {sibling=sublevel,numbered=no,name=\csname __fancythm_translate:n\endcsname {Problem}$^{\dagger }$}{__problem__groups_tiny_dagger}
|
||||||
|
\csname __groupthm_thmtools_declare_theorem:nn\endcsname {sibling=sublevel,numbered=no,name=\csname __fancythm_translate:n\endcsname {Problem}*$^{\dagger }$}{__problem__groups_tiny_dagger_star}
|
||||||
|
\csname __groupthm_thmtools_declare_theorem:nn\endcsname {sibling=sublevel,numbered=no,name=\csname __fancythm_translate:n\endcsname {Problem}*}{__problem__groups_tiny_star}
|
||||||
|
\csname __groupthm_thmtools_declare_theorem:nn\endcsname {sibling=sublevel,numbered=no,name=\csname __fancythm_translate:n\endcsname {Property}$^{\dagger }$}{__property__groups_tiny_dagger}
|
||||||
|
\csname __groupthm_thmtools_declare_theorem:nn\endcsname {sibling=sublevel,numbered=no,name=\csname __fancythm_translate:n\endcsname {Property}*$^{\dagger }$}{__property__groups_tiny_dagger_star}
|
||||||
|
\csname __groupthm_thmtools_declare_theorem:nn\endcsname {sibling=sublevel,numbered=no,name=\csname __fancythm_translate:n\endcsname {Property}*}{__property__groups_tiny_star}
|
||||||
|
\csname __groupthm_thmtools_declare_theorem:nn\endcsname {sibling=sublevel,numbered=no,name=\csname __fancythm_translate:n\endcsname {Recall}$^{\dagger }$}{__recall__groups_tiny_dagger}
|
||||||
|
\csname __groupthm_thmtools_declare_theorem:nn\endcsname {sibling=sublevel,numbered=no,name=\csname __fancythm_translate:n\endcsname {Recall}*$^{\dagger }$}{__recall__groups_tiny_dagger_star}
|
||||||
|
\csname __groupthm_thmtools_declare_theorem:nn\endcsname {sibling=sublevel,numbered=no,name=\csname __fancythm_translate:n\endcsname {Recall}*}{__recall__groups_tiny_star}
|
||||||
|
\csname __groupthm_thmtools_declare_theorem:nn\endcsname {sibling=sublevel,numbered=no,name=\csname __fancythm_translate:n\endcsname {Reminder}$^{\dagger }$}{__reminder__groups_tiny_dagger}
|
||||||
|
\csname __groupthm_thmtools_declare_theorem:nn\endcsname {sibling=sublevel,numbered=no,name=\csname __fancythm_translate:n\endcsname {Reminder}*$^{\dagger }$}{__reminder__groups_tiny_dagger_star}
|
||||||
|
\csname __groupthm_thmtools_declare_theorem:nn\endcsname {sibling=sublevel,numbered=no,name=\csname __fancythm_translate:n\endcsname {Reminder}*}{__reminder__groups_tiny_star}
|
||||||
|
\csname __groupthm_thmtools_declare_theorem:nn\endcsname {sibling=sublevel,numbered=no,name=\csname __fancythm_translate:n\endcsname {Strategy}$^{\dagger }$}{__strategy__groups_tiny_dagger}
|
||||||
|
\csname __groupthm_thmtools_declare_theorem:nn\endcsname {sibling=sublevel,numbered=no,name=\csname __fancythm_translate:n\endcsname {Strategy}*$^{\dagger }$}{__strategy__groups_tiny_dagger_star}
|
||||||
|
\csname __groupthm_thmtools_declare_theorem:nn\endcsname {sibling=sublevel,numbered=no,name=\csname __fancythm_translate:n\endcsname {Strategy}*}{__strategy__groups_tiny_star}
|
||||||
|
\csname __groupthm_thmtools_declare_theorem:nn\endcsname {sibling=sublevel,numbered=no,name=\csname __fancythm_translate:n\endcsname {Variant}$^{\dagger }$}{__variant__groups_tiny_dagger}
|
||||||
|
\csname __groupthm_thmtools_declare_theorem:nn\endcsname {sibling=sublevel,numbered=no,name=\csname __fancythm_translate:n\endcsname {Variant}*$^{\dagger }$}{__variant__groups_tiny_dagger_star}
|
||||||
|
\csname __groupthm_thmtools_declare_theorem:nn\endcsname {sibling=sublevel,numbered=no,name=\csname __fancythm_translate:n\endcsname {Variant}*}{__variant__groups_tiny_star}
|
||||||
|
\csname __groupthm_thmtools_declare_theorem:nn\endcsname {sibling=sublevel,numbered=no,name=\csname __fancythm_translate:n\endcsname {Warning}$^{\dagger }$}{__warning__groups_tiny_dagger}
|
||||||
|
\csname __groupthm_thmtools_declare_theorem:nn\endcsname {sibling=sublevel,numbered=no,name=\csname __fancythm_translate:n\endcsname {Warning}*$^{\dagger }$}{__warning__groups_tiny_dagger_star}
|
||||||
|
\csname __groupthm_thmtools_declare_theorem:nn\endcsname {sibling=sublevel,numbered=no,name=\csname __fancythm_translate:n\endcsname {Warning}*}{__warning__groups_tiny_star}
|
||||||
|
\csname __groupthm_thmtools_declare_theorem:nn\endcsname {sibling=sublevel,sibling=sublevel,name=\csname __fancythm_translate:n\endcsname {Abuse of Notation}$^{\dagger }$,style=thmvioletmargin}{__abuse__groups_small_dagger}
|
||||||
|
\csname __groupthm_thmtools_declare_theorem:nn\endcsname {sibling=sublevel,sibling=sublevel,name=\csname __fancythm_translate:n\endcsname {Abuse of Notation}*$^{\dagger }$,style=thmvioletmargin}{__abuse__groups_small_dagger_star}
|
||||||
|
\csname __groupthm_thmtools_declare_theorem:nn\endcsname {sibling=sublevel,sibling=sublevel,name=\csname __fancythm_translate:n\endcsname {Abuse of Notation}*,style=thmvioletmargin}{__abuse__groups_small_star}
|
||||||
|
\csname __groupthm_thmtools_declare_theorem:nn\endcsname {sibling=sublevel,sibling=sublevel,name=\csname __fancythm_translate:n\endcsname {Fact}$^{\dagger }$,style=thmredmargin}{__fact__groups_small_dagger}
|
||||||
|
\csname __groupthm_thmtools_declare_theorem:nn\endcsname {sibling=sublevel,sibling=sublevel,name=\csname __fancythm_translate:n\endcsname {Fact}*$^{\dagger }$,style=thmredmargin}{__fact__groups_small_dagger_star}
|
||||||
|
\csname __groupthm_thmtools_declare_theorem:nn\endcsname {sibling=sublevel,sibling=sublevel,name=\csname __fancythm_translate:n\endcsname {Fact}*,style=thmredmargin}{__fact__groups_small_star}
|
||||||
|
\csname __groupthm_thmtools_declare_theorem:nn\endcsname {sibling=sublevel,sibling=sublevel,name=\csname __fancythm_translate:n\endcsname {Notation}$^{\dagger }$,style=thmvioletmargin}{__notation__groups_small_dagger}
|
||||||
|
\csname __groupthm_thmtools_declare_theorem:nn\endcsname {sibling=sublevel,sibling=sublevel,name=\csname __fancythm_translate:n\endcsname {Notation}*$^{\dagger }$,style=thmvioletmargin}{__notation__groups_small_dagger_star}
|
||||||
|
\csname __groupthm_thmtools_declare_theorem:nn\endcsname {sibling=sublevel,sibling=sublevel,name=\csname __fancythm_translate:n\endcsname {Notation}*,style=thmvioletmargin}{__notation__groups_small_star}
|
||||||
|
\csname __groupthm_thmtools_declare_theorem:nn\endcsname {sibling=sublevel,sibling=sublevel,name=\csname __fancythm_translate:n\endcsname {Oral remark}$^{\dagger }$,style=thmyellowmargin}{__oral__groups_small_dagger}
|
||||||
|
\csname __groupthm_thmtools_declare_theorem:nn\endcsname {sibling=sublevel,sibling=sublevel,name=\csname __fancythm_translate:n\endcsname {Oral remark}*$^{\dagger }$,style=thmyellowmargin}{__oral__groups_small_dagger_star}
|
||||||
|
\csname __groupthm_thmtools_declare_theorem:nn\endcsname {sibling=sublevel,sibling=sublevel,name=\csname __fancythm_translate:n\endcsname {Oral remark}*,style=thmyellowmargin}{__oral__groups_small_star}
|
||||||
|
\csname __groupthm_thmtools_declare_theorem:nn\endcsname {sibling=sublevel,sibling=sublevel,name=\csname __fancythm_translate:n\endcsname {Orga}$^{\dagger }$,style=thmblackmargin}{__orga__groups_small_dagger}
|
||||||
|
\csname __groupthm_thmtools_declare_theorem:nn\endcsname {sibling=sublevel,sibling=sublevel,name=\csname __fancythm_translate:n\endcsname {Orga}*$^{\dagger }$,style=thmblackmargin}{__orga__groups_small_dagger_star}
|
||||||
|
\csname __groupthm_thmtools_declare_theorem:nn\endcsname {sibling=sublevel,sibling=sublevel,name=\csname __fancythm_translate:n\endcsname {Orga}*,style=thmblackmargin}{__orga__groups_small_star}
|
||||||
|
\csname __groupthm_thmtools_declare_theorem:nn\endcsname {sibling=sublevel,sibling=sublevel,name=\csname __fancythm_translate:n\endcsname {Praise}$^{\dagger }$,style=thmgoldmargin}{__praise__groups_small_dagger}
|
||||||
|
\csname __groupthm_thmtools_declare_theorem:nn\endcsname {sibling=sublevel,sibling=sublevel,name=\csname __fancythm_translate:n\endcsname {Praise}*$^{\dagger }$,style=thmgoldmargin}{__praise__groups_small_dagger_star}
|
||||||
|
\csname __groupthm_thmtools_declare_theorem:nn\endcsname {sibling=sublevel,sibling=sublevel,name=\csname __fancythm_translate:n\endcsname {Praise}*,style=thmgoldmargin}{__praise__groups_small_star}
|
||||||
|
\csname __groupthm_thmtools_declare_theorem:nn\endcsname {sibling=sublevel,sibling=sublevel,name=\csname __fancythm_translate:n\endcsname {Question}$^{\dagger }$,style=thmblackmarginandfill}{__question__groups_small_dagger}
|
||||||
|
\csname __groupthm_thmtools_declare_theorem:nn\endcsname {sibling=sublevel,sibling=sublevel,name=\csname __fancythm_translate:n\endcsname {Question}*$^{\dagger }$,style=thmblackmarginandfill}{__question__groups_small_dagger_star}
|
||||||
|
\csname __groupthm_thmtools_declare_theorem:nn\endcsname {sibling=sublevel,sibling=sublevel,name=\csname __fancythm_translate:n\endcsname {Question}*,style=thmblackmarginandfill}{__question__groups_small_star}
|
||||||
|
\csname __groupthm_thmtools_declare_theorem:nn\endcsname {sibling=sublevel,sibling=sublevel,name=\csname __fancythm_translate:n\endcsname {Remark}$^{\dagger }$,style=thmyellowmargin}{__remark__groups_small_dagger}
|
||||||
|
\csname __groupthm_thmtools_declare_theorem:nn\endcsname {sibling=sublevel,sibling=sublevel,name=\csname __fancythm_translate:n\endcsname {Remark}*$^{\dagger }$,style=thmyellowmargin}{__remark__groups_small_dagger_star}
|
||||||
|
\csname __groupthm_thmtools_declare_theorem:nn\endcsname {sibling=sublevel,sibling=sublevel,name=\csname __fancythm_translate:n\endcsname {Remark}*,style=thmyellowmargin}{__remark__groups_small_star}
|
||||||
|
\csname __groupthm_thmtools_declare_theorem:nn\endcsname {sibling=sublevel,sibling=sublevel,name=\csname __fancythm_translate:n\endcsname {Trivial Nonsense}$^{\dagger }$,style=thmyellowmargin}{__trivial__groups_small_dagger}
|
||||||
|
\csname __groupthm_thmtools_declare_theorem:nn\endcsname {sibling=sublevel,sibling=sublevel,name=\csname __fancythm_translate:n\endcsname {Trivial Nonsense}*$^{\dagger }$,style=thmyellowmargin}{__trivial__groups_small_dagger_star}
|
||||||
|
\csname __groupthm_thmtools_declare_theorem:nn\endcsname {sibling=sublevel,sibling=sublevel,name=\csname __fancythm_translate:n\endcsname {Trivial Nonsense}*,style=thmyellowmargin}{__trivial__groups_small_star}
|
||||||
|
\csname __groupthm_thmtools_declare_theorem:nn\endcsname {sibling=toplevel,name=\csname __fancythm_translate:n\endcsname {Corollary},style=thmredmarginandfill}{__corollary__groups_big}
|
||||||
|
\csname __groupthm_thmtools_declare_theorem:nn\endcsname {sibling=toplevel,name=\csname __fancythm_translate:n\endcsname {Definition},style=thmbluemarginandfill}{__definition__groups_big}
|
||||||
|
\csname __groupthm_thmtools_declare_theorem:nn\endcsname {sibling=toplevel,name=\csname __fancythm_translate:n\endcsname {Example},style=thmgreenmargin}{__example__groups_big}
|
||||||
|
\csname __groupthm_thmtools_declare_theorem:nn\endcsname {sibling=toplevel,name=\csname __fancythm_translate:n\endcsname {Lemma},style=thmorangemarginandfill}{__lemma__groups_big}
|
||||||
|
\csname __groupthm_thmtools_declare_theorem:nn\endcsname {sibling=toplevel,name=\csname __fancythm_translate:n\endcsname {Proposition and Definition},style=thmredmarginbluefill}{__propositiondef__groups_big}
|
||||||
|
\csname __groupthm_thmtools_declare_theorem:nn\endcsname {sibling=toplevel,name=\csname __fancythm_translate:n\endcsname {Proposition},style=thmredmarginandfill}{__proposition__groups_big}
|
||||||
|
\csname __groupthm_thmtools_declare_theorem:nn\endcsname {sibling=toplevel,name=\csname __fancythm_translate:n\endcsname {Theorem and Definition},style=thmredmarginbluefill}{__theoremdef__groups_big}
|
||||||
|
\csname __groupthm_thmtools_declare_theorem:nn\endcsname {sibling=toplevel,name=\csname __fancythm_translate:n\endcsname {Theorem},style=thmredmarginandfill}{__theorem__groups_big}
|
||||||
|
\csname __groupthm_thmtools_declare_theorem:nn\endcsname {sibling=toplevel,sibling=sublevel,name=\csname __fancythm_translate:n\endcsname {Corollary}$^{\dagger }$,style=thmredmarginandfill}{__corollary__groups_big_dagger}
|
||||||
|
\csname __groupthm_thmtools_declare_theorem:nn\endcsname {sibling=toplevel,sibling=sublevel,name=\csname __fancythm_translate:n\endcsname {Corollary}*$^{\dagger }$,style=thmredmarginandfill}{__corollary__groups_big_dagger_star}
|
||||||
|
\csname __groupthm_thmtools_declare_theorem:nn\endcsname {sibling=toplevel,sibling=sublevel,name=\csname __fancythm_translate:n\endcsname {Corollary}*,style=thmredmarginandfill}{__corollary__groups_big_star}
|
||||||
|
\csname __groupthm_thmtools_declare_theorem:nn\endcsname {sibling=toplevel,sibling=sublevel,name=\csname __fancythm_translate:n\endcsname {Definition}$^{\dagger }$,style=thmbluemarginandfill}{__definition__groups_big_dagger}
|
||||||
|
\csname __groupthm_thmtools_declare_theorem:nn\endcsname {sibling=toplevel,sibling=sublevel,name=\csname __fancythm_translate:n\endcsname {Definition}*$^{\dagger }$,style=thmbluemarginandfill}{__definition__groups_big_dagger_star}
|
||||||
|
\csname __groupthm_thmtools_declare_theorem:nn\endcsname {sibling=toplevel,sibling=sublevel,name=\csname __fancythm_translate:n\endcsname {Definition}*,style=thmbluemarginandfill}{__definition__groups_big_star}
|
||||||
|
\csname __groupthm_thmtools_declare_theorem:nn\endcsname {sibling=toplevel,sibling=sublevel,name=\csname __fancythm_translate:n\endcsname {Example}$^{\dagger }$,style=thmgreenmargin}{__example__groups_big_dagger}
|
||||||
|
\csname __groupthm_thmtools_declare_theorem:nn\endcsname {sibling=toplevel,sibling=sublevel,name=\csname __fancythm_translate:n\endcsname {Example}*$^{\dagger }$,style=thmgreenmargin}{__example__groups_big_dagger_star}
|
||||||
|
\csname __groupthm_thmtools_declare_theorem:nn\endcsname {sibling=toplevel,sibling=sublevel,name=\csname __fancythm_translate:n\endcsname {Example}*,style=thmgreenmargin}{__example__groups_big_star}
|
||||||
|
\csname __groupthm_thmtools_declare_theorem:nn\endcsname {sibling=toplevel,sibling=sublevel,name=\csname __fancythm_translate:n\endcsname {Lemma}$^{\dagger }$,style=thmorangemarginandfill}{__lemma__groups_big_dagger}
|
||||||
|
\csname __groupthm_thmtools_declare_theorem:nn\endcsname {sibling=toplevel,sibling=sublevel,name=\csname __fancythm_translate:n\endcsname {Lemma}*$^{\dagger }$,style=thmorangemarginandfill}{__lemma__groups_big_dagger_star}
|
||||||
|
\csname __groupthm_thmtools_declare_theorem:nn\endcsname {sibling=toplevel,sibling=sublevel,name=\csname __fancythm_translate:n\endcsname {Lemma}*,style=thmorangemarginandfill}{__lemma__groups_big_star}
|
||||||
|
\csname __groupthm_thmtools_declare_theorem:nn\endcsname {sibling=toplevel,sibling=sublevel,name=\csname __fancythm_translate:n\endcsname {Proposition and Definition}$^{\dagger }$,style=thmredmarginbluefill}{__propositiondef__groups_big_dagger}
|
||||||
|
\csname __groupthm_thmtools_declare_theorem:nn\endcsname {sibling=toplevel,sibling=sublevel,name=\csname __fancythm_translate:n\endcsname {Proposition and Definition}*$^{\dagger }$,style=thmredmarginbluefill}{__propositiondef__groups_big_dagger_star}
|
||||||
|
\csname __groupthm_thmtools_declare_theorem:nn\endcsname {sibling=toplevel,sibling=sublevel,name=\csname __fancythm_translate:n\endcsname {Proposition and Definition}*,style=thmredmarginbluefill}{__propositiondef__groups_big_star}
|
||||||
|
\csname __groupthm_thmtools_declare_theorem:nn\endcsname {sibling=toplevel,sibling=sublevel,name=\csname __fancythm_translate:n\endcsname {Proposition}$^{\dagger }$,style=thmredmarginandfill}{__proposition__groups_big_dagger}
|
||||||
|
\csname __groupthm_thmtools_declare_theorem:nn\endcsname {sibling=toplevel,sibling=sublevel,name=\csname __fancythm_translate:n\endcsname {Proposition}*$^{\dagger }$,style=thmredmarginandfill}{__proposition__groups_big_dagger_star}
|
||||||
|
\csname __groupthm_thmtools_declare_theorem:nn\endcsname {sibling=toplevel,sibling=sublevel,name=\csname __fancythm_translate:n\endcsname {Proposition}*,style=thmredmarginandfill}{__proposition__groups_big_star}
|
||||||
|
\csname __groupthm_thmtools_declare_theorem:nn\endcsname {sibling=toplevel,sibling=sublevel,name=\csname __fancythm_translate:n\endcsname {Theorem and Definition}$^{\dagger }$,style=thmredmarginbluefill}{__theoremdef__groups_big_dagger}
|
||||||
|
\csname __groupthm_thmtools_declare_theorem:nn\endcsname {sibling=toplevel,sibling=sublevel,name=\csname __fancythm_translate:n\endcsname {Theorem and Definition}*$^{\dagger }$,style=thmredmarginbluefill}{__theoremdef__groups_big_dagger_star}
|
||||||
|
\csname __groupthm_thmtools_declare_theorem:nn\endcsname {sibling=toplevel,sibling=sublevel,name=\csname __fancythm_translate:n\endcsname {Theorem and Definition}*,style=thmredmarginbluefill}{__theoremdef__groups_big_star}
|
||||||
|
\csname __groupthm_thmtools_declare_theorem:nn\endcsname {sibling=toplevel,sibling=sublevel,name=\csname __fancythm_translate:n\endcsname {Theorem}$^{\dagger }$,style=thmredmarginandfill}{__theorem__groups_big_dagger}
|
||||||
|
\csname __groupthm_thmtools_declare_theorem:nn\endcsname {sibling=toplevel,sibling=sublevel,name=\csname __fancythm_translate:n\endcsname {Theorem}*$^{\dagger }$,style=thmredmarginandfill}{__theorem__groups_big_dagger_star}
|
||||||
|
\csname __groupthm_thmtools_declare_theorem:nn\endcsname {sibling=toplevel,sibling=sublevel,name=\csname __fancythm_translate:n\endcsname {Theorem}*,style=thmredmarginandfill}{__theorem__groups_big_star}
|
||||||
|
\csname __groupthm_define_family_options:nnnn\endcsname {abuse}{!s!t+}{\IfBooleanT {#1}{\AddTheoremToGroup {star}}\IfBooleanT {#2}{\AddTheoremToGroup {dagger}}}{small}
|
||||||
|
\csname __groupthm_define_family_options:nnnn\endcsname {assumption}{!s!t+}{\IfBooleanT {#1}{\AddTheoremToGroup {star}}\IfBooleanT {#2}{\AddTheoremToGroup {dagger}}}{tiny}
|
||||||
|
\csname __groupthm_define_family_options:nnnn\endcsname {corollary}{!s!t+}{\IfBooleanT {#1}{\AddTheoremToGroup {star}}\IfBooleanT {#2}{\AddTheoremToGroup {dagger}}}{big}
|
||||||
|
\csname __groupthm_define_family_options:nnnn\endcsname {definition}{!s!t+}{\IfBooleanT {#1}{\AddTheoremToGroup {star}}\IfBooleanT {#2}{\AddTheoremToGroup {dagger}}}{big}
|
||||||
|
\csname __groupthm_define_family_options:nnnn\endcsname {example}{!s!t+}{\IfBooleanT {#1}{\AddTheoremToGroup {star}}\IfBooleanT {#2}{\AddTheoremToGroup {dagger}}}{big}
|
||||||
|
\csname __groupthm_define_family_options:nnnn\endcsname {exercise}{!s!t+}{\IfBooleanT {#1}{\AddTheoremToGroup {star}}\IfBooleanT {#2}{\AddTheoremToGroup {dagger}}}{tiny}
|
||||||
|
\csname __groupthm_define_family_options:nnnn\endcsname {fact}{!s!t+}{\IfBooleanT {#1}{\AddTheoremToGroup {star}}\IfBooleanT {#2}{\AddTheoremToGroup {dagger}}}{small}
|
||||||
|
\csname __groupthm_define_family_options:nnnn\endcsname {goal}{!s!t+}{\IfBooleanT {#1}{\AddTheoremToGroup {star}}\IfBooleanT {#2}{\AddTheoremToGroup {dagger}}}{tiny}
|
||||||
|
\csname __groupthm_define_family_options:nnnn\endcsname {idea}{!s!t+}{\IfBooleanT {#1}{\AddTheoremToGroup {star}}\IfBooleanT {#2}{\AddTheoremToGroup {dagger}}}{tiny}
|
||||||
|
\csname __groupthm_define_family_options:nnnn\endcsname {info}{!s!t+}{\IfBooleanT {#1}{\AddTheoremToGroup {star}}\IfBooleanT {#2}{\AddTheoremToGroup {dagger}}}{tiny}
|
||||||
|
\csname __groupthm_define_family_options:nnnn\endcsname {intuition}{!s!t+}{\IfBooleanT {#1}{\AddTheoremToGroup {star}}\IfBooleanT {#2}{\AddTheoremToGroup {dagger}}}{tiny}
|
||||||
|
\csname __groupthm_define_family_options:nnnn\endcsname {lemma}{!s!t+}{\IfBooleanT {#1}{\AddTheoremToGroup {star}}\IfBooleanT {#2}{\AddTheoremToGroup {dagger}}}{big}
|
||||||
|
\csname __groupthm_define_family_options:nnnn\endcsname {notation}{!s!t+}{\IfBooleanT {#1}{\AddTheoremToGroup {star}}\IfBooleanT {#2}{\AddTheoremToGroup {dagger}}}{small}
|
||||||
|
\csname __groupthm_define_family_options:nnnn\endcsname {note}{!s!t+}{\IfBooleanT {#1}{\AddTheoremToGroup {star}}\IfBooleanT {#2}{\AddTheoremToGroup {dagger}}}{tiny}
|
||||||
|
\csname __groupthm_define_family_options:nnnn\endcsname {observe}{!s!t+}{\IfBooleanT {#1}{\AddTheoremToGroup {star}}\IfBooleanT {#2}{\AddTheoremToGroup {dagger}}}{tiny}
|
||||||
|
\csname __groupthm_define_family_options:nnnn\endcsname {oral}{!s!t+}{\IfBooleanT {#1}{\AddTheoremToGroup {star}}\IfBooleanT {#2}{\AddTheoremToGroup {dagger}}}{small}
|
||||||
|
\csname __groupthm_define_family_options:nnnn\endcsname {orga}{!s!t+}{\IfBooleanT {#1}{\AddTheoremToGroup {star}}\IfBooleanT {#2}{\AddTheoremToGroup {dagger}}}{small}
|
||||||
|
\csname __groupthm_define_family_options:nnnn\endcsname {praise}{!s!t+}{\IfBooleanT {#1}{\AddTheoremToGroup {star}}\IfBooleanT {#2}{\AddTheoremToGroup {dagger}}}{small}
|
||||||
|
\csname __groupthm_define_family_options:nnnn\endcsname {problem}{!s!t+}{\IfBooleanT {#1}{\AddTheoremToGroup {star}}\IfBooleanT {#2}{\AddTheoremToGroup {dagger}}}{tiny}
|
||||||
|
\csname __groupthm_define_family_options:nnnn\endcsname {property}{!s!t+}{\IfBooleanT {#1}{\AddTheoremToGroup {star}}\IfBooleanT {#2}{\AddTheoremToGroup {dagger}}}{tiny}
|
||||||
|
\csname __groupthm_define_family_options:nnnn\endcsname {propositiondef}{!s!t+}{\IfBooleanT {#1}{\AddTheoremToGroup {star}}\IfBooleanT {#2}{\AddTheoremToGroup {dagger}}}{big}
|
||||||
|
\csname __groupthm_define_family_options:nnnn\endcsname {proposition}{!s!t+}{\IfBooleanT {#1}{\AddTheoremToGroup {star}}\IfBooleanT {#2}{\AddTheoremToGroup {dagger}}}{big}
|
||||||
|
\csname __groupthm_define_family_options:nnnn\endcsname {question}{!s!t+}{\IfBooleanT {#1}{\AddTheoremToGroup {star}}\IfBooleanT {#2}{\AddTheoremToGroup {dagger}}}{small}
|
||||||
|
\csname __groupthm_define_family_options:nnnn\endcsname {recall}{!s!t+}{\IfBooleanT {#1}{\AddTheoremToGroup {star}}\IfBooleanT {#2}{\AddTheoremToGroup {dagger}}}{tiny}
|
||||||
|
\csname __groupthm_define_family_options:nnnn\endcsname {remark}{!s!t+}{\IfBooleanT {#1}{\AddTheoremToGroup {star}}\IfBooleanT {#2}{\AddTheoremToGroup {dagger}}}{small}
|
||||||
|
\csname __groupthm_define_family_options:nnnn\endcsname {reminder}{!s!t+}{\IfBooleanT {#1}{\AddTheoremToGroup {star}}\IfBooleanT {#2}{\AddTheoremToGroup {dagger}}}{tiny}
|
||||||
|
\csname __groupthm_define_family_options:nnnn\endcsname {strategy}{!s!t+}{\IfBooleanT {#1}{\AddTheoremToGroup {star}}\IfBooleanT {#2}{\AddTheoremToGroup {dagger}}}{tiny}
|
||||||
|
\csname __groupthm_define_family_options:nnnn\endcsname {theoremdef}{!s!t+}{\IfBooleanT {#1}{\AddTheoremToGroup {star}}\IfBooleanT {#2}{\AddTheoremToGroup {dagger}}}{big}
|
||||||
|
\csname __groupthm_define_family_options:nnnn\endcsname {theorem}{!s!t+}{\IfBooleanT {#1}{\AddTheoremToGroup {star}}\IfBooleanT {#2}{\AddTheoremToGroup {dagger}}}{big}
|
||||||
|
\csname __groupthm_define_family_options:nnnn\endcsname {trivial}{!s!t+}{\IfBooleanT {#1}{\AddTheoremToGroup {star}}\IfBooleanT {#2}{\AddTheoremToGroup {dagger}}}{small}
|
||||||
|
\csname __groupthm_define_family_options:nnnn\endcsname {variant}{!s!t+}{\IfBooleanT {#1}{\AddTheoremToGroup {star}}\IfBooleanT {#2}{\AddTheoremToGroup {dagger}}}{tiny}
|
||||||
|
\csname __groupthm_define_family_options:nnnn\endcsname {warning}{!s!t+}{\IfBooleanT {#1}{\AddTheoremToGroup {star}}\IfBooleanT {#2}{\AddTheoremToGroup {dagger}}}{tiny}
|
||||||
|
}
|
||||||
|
\AddToHook { begindocument }
|
||||||
|
{
|
||||||
|
\exp_args:NNV \iow_now:Nn \l_my_iow \l_tmpa_tl
|
||||||
|
\benchmark_once:n
|
||||||
|
{
|
||||||
|
\tl_use:N \l_tmpa_tl
|
||||||
|
}
|
||||||
|
}
|
||||||
|
\ExplSyntaxOff
|
||||||
|
|
||||||
|
\begin{document}
|
||||||
|
|
||||||
|
\begin{theorem}
|
||||||
|
bla
|
||||||
|
\end{theorem}
|
||||||
|
|
||||||
|
\begin{trivial}+
|
||||||
|
bla
|
||||||
|
\end{trivial}
|
||||||
|
|
||||||
|
\end{document}
|
16
tests/environments/fancythm/test3.tex
Normal file
16
tests/environments/fancythm/test3.tex
Normal file
|
@ -0,0 +1,16 @@
|
||||||
|
\documentclass{minimal}
|
||||||
|
|
||||||
|
\usepackage[cache version = 1]{fancythm}
|
||||||
|
|
||||||
|
\NewFancyTheorem{hello}
|
||||||
|
|
||||||
|
\begin{document}
|
||||||
|
|
||||||
|
\begin{abuse}
|
||||||
|
|
||||||
|
\end{abuse}
|
||||||
|
|
||||||
|
\begin{hello}
|
||||||
|
|
||||||
|
\end{hello}
|
||||||
|
\end{document}
|
9
tests/wip/cache/Makefile
vendored
Normal file
9
tests/wip/cache/Makefile
vendored
Normal file
|
@ -0,0 +1,9 @@
|
||||||
|
all: clean pdf
|
||||||
|
|
||||||
|
pdf:
|
||||||
|
pdflatex test.tex
|
||||||
|
|
||||||
|
clean:
|
||||||
|
rm -f test.aux
|
||||||
|
|
||||||
|
.PHONY: all pdf clean
|
9
tests/wip/cache/test.tex
vendored
9
tests/wip/cache/test.tex
vendored
|
@ -32,6 +32,15 @@
|
||||||
|
|
||||||
\begin{document}
|
\begin{document}
|
||||||
|
|
||||||
|
|
||||||
|
\section{test}
|
||||||
|
|
||||||
|
\ExplSyntaxOn
|
||||||
|
|
||||||
|
%\clist_show:N \g__cache_lazy_auxfile_tl
|
||||||
|
|
||||||
|
\ExplSyntaxOff
|
||||||
|
|
||||||
\foo { one }
|
\foo { one }
|
||||||
|
|
||||||
\baz{ arg }
|
\baz{ arg }
|
||||||
|
|
24
tests/wip/code/test.tex
Normal file
24
tests/wip/code/test.tex
Normal file
|
@ -0,0 +1,24 @@
|
||||||
|
\documentclass[12pt]{article}
|
||||||
|
|
||||||
|
\usepackage[pipe]{mkessler-code}
|
||||||
|
\usepackage{mkessler-vocab}
|
||||||
|
|
||||||
|
\begin{document}
|
||||||
|
|
||||||
|
\begin{table}[htpb]
|
||||||
|
\centering
|
||||||
|
\begin{tabular}{c| c | c}
|
||||||
|
test & bla & \code{test_}
|
||||||
|
\end{tabular}
|
||||||
|
\caption{caption}
|
||||||
|
\label{tab:label}
|
||||||
|
\end{table}
|
||||||
|
|
||||||
|
\code{test__}
|
||||||
|
|
||||||
|
\vocab{| this is a test_|}
|
||||||
|
|
||||||
|
|
||||||
|
%| test ___|
|
||||||
|
|
||||||
|
\end{document}
|
Loading…
Reference in a new issue