Sync with klammertext-dev through b90b0e09: - Argument types end to end: :python_cast values are applied (Python @eval receives real bools/numbers/lists), argument values are validated against their argtype patterns with the argtype's description as the error message, argtypes can declare :default (overridable per declaration), and parameterized type families are supported: rest(N) casts a rest argument to an N-dimensional list (bar-count = dimension). - Unified indexed_range syntax (selector with parenthesized subsets, composable mnemonic names) for table lines and spans. - Table klammer: caption fonts fixed in both targets, :column_width / :leading / :colsep wired, :colspan and :rowspan render (HTML attributes; \multicolumn / \multirow), calculated cell values (:calc) with prefix operators, display-precision semantics, :calc_format and :decimal period|comma. - Fonts: closed-world resolution on the Klammertext font store (infrastructure in mac/font_store; no Google Fonts links or fetch). Default fonts live in the top-level fnt/; additional fonts install into KLAMMERTEXT_FONTS directories via kdesc --font (list, samples, preview, install — classification by font metadata). CSS font family names are quoted (digit-initial families were silently lost). - Environment files moved from mac/env/ to the top-level env/; shell profiles source env/runtime.env. Dead per-host variants removed. - Container: fnt/ ships in the image; curl removed (no network use).
62 lines
1.7 KiB
Plaintext
62 lines
1.7 KiB
Plaintext
@@show s : @eval :cpp show show @ @@
|
|
|
|
@@@argtype caption_side |
|
|
the side of its element on which a caption is placed
|
|
:pattern top^|right^|bottom^|left
|
|
:default bottom
|
|
@@@
|
|
|
|
@@caption_arguments :
|
|
:caption
|
|
:number.bool true
|
|
:caption_side.caption_side
|
|
:caption_font.font i
|
|
:caption_font_size.float .9
|
|
@@
|
|
|
|
@@reference spec | name :
|
|
__REF__*spec*__*name*__
|
|
@@
|
|
|
|
@@@argtype number | a number
|
|
:pattern 'float'^|'int'
|
|
:python_cast (lambda s: float(s))
|
|
@@@
|
|
|
|
@@@argtype length | a length specifier
|
|
#:pattern f^|none^|'float'w^|'float'h^|'int'px^|'float'em^|'int'pt
|
|
# The last pattern is a string, used where possible to determine its length
|
|
:pattern f^|none^|'float'w^|'float'h^|'int'px^|'float'em^|'int'pt^|"[^^"]+"^|'float'pw^|'float'ph
|
|
# :python_cast (lambda s : __import__("kutil").parse_length("tex", s))
|
|
@@@
|
|
|
|
@@@argtype lengths | a list of lengths
|
|
:pattern ('length'^|\s+)*
|
|
#:python_cast (lambda s : [__import__("kutil").parse_length("tex", e) for e in s.split()])
|
|
@@@
|
|
|
|
@@@argtype figure_id |
|
|
an identifier for a figure.
|
|
|
|
The identifier can be in one of six forms:
|
|
|
|
before
|
|
before <offset-to-figure>
|
|
after
|
|
after <offset-to-figure>
|
|
<image-basename>
|
|
<id>
|
|
|
|
The "before" value means the figure before this place in the text;
|
|
the number indicates the number of figures behind that place in the
|
|
text. This means that "before" is equivalent to "before 1". The
|
|
"after" value uses an offset in the same way but counting forewards.
|
|
|
|
For images, the <image-basename> argument is the basename argument to
|
|
the ^@image klammer and can be used as an identifier.
|
|
|
|
An <id> is the value of the ^:id argument for an image.
|
|
|
|
^:pattern before(?^:\s+\d+)?^|after(?^:\s+\d+)?^|[-\w]+
|
|
@@@
|