2026-07-18 18:48:23 +02:00
|
|
|
|
#[
|
|
|
|
|
|
The targets in the SKS use the LaTeX convention for converting ASCII
|
|
|
|
|
|
characters into standard typographical characters. This is done
|
|
|
|
|
|
by LaTeX by default; other targets must use the transforms parameter
|
|
|
|
|
|
of Parameter_set, as defined for the m_parameters variable of the
|
Klammerset: the @@@klammerset construct, its search path, and const correctness
The @@@klammerset system command formally declares a klammerset — a
named, logically related group of klammer definitions — with an
operative, idempotent declaration (:requires and :files load in order
at the declaration point, relative to the declaring file). A bare
symbol given to ktext -k, kdesc --input, or :requires resolves to
x/x.k on the search path: the document's directory, then
KLAMMERTEXT_KLAMMERSETS, then KLAMMERTEXT_HOME; kdesc --klammerset
lists the available sets. sks/sks.k is the first declared klammerset,
so `-k sks` loads the SKS by name. The engine's lookup classes were
renamed *_set → *_registry to keep the two concepts apart, and the
whole C++ tree now follows standard const-correctness conventions.
tst/ gains klammerset_test.sh (18 cases).
(from dev 64b1abf23e56)
2026-07-30 23:50:07 +02:00
|
|
|
|
Target_registry class. (See file target_registry.cpp.)
|
2026-07-18 18:48:23 +02:00
|
|
|
|
|
|
|
|
|
|
The LaTeX transformations supported by the SKS are:
|
|
|
|
|
|
|
|
|
|
|
|
-- -> en-dash
|
|
|
|
|
|
--- -> em-dash
|
|
|
|
|
|
` -> open single quote
|
|
|
|
|
|
' -> close single quote
|
|
|
|
|
|
`` -> open double quote
|
|
|
|
|
|
'' -> close double quote
|
|
|
|
|
|
~ -> non-breaking space
|
|
|
|
|
|
|
|
|
|
|
|
]#
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@@@target txt | Plain text with formatting | # This txt target is not full implemented in the SKS yet.
|
|
|
|
|
|
-- - |
|
|
|
|
|
|
--- -- |
|
|
|
|
|
|
`` " |
|
|
|
|
|
|
'' " |
|
|
|
|
|
|
` ` |
|
|
|
|
|
|
' ' |
|
|
|
|
|
|
~ ^0020^
|
|
|
|
|
|
:after_apply
|
|
|
|
|
|
phases.justify_blocks
|
|
|
|
|
|
@@@
|
|
|
|
|
|
|
|
|
|
|
|
@@@target html | HTML page
|
|
|
|
|
|
# :escape < < & & |
|
|
|
|
|
|
|
|
|
|
|
|
|
--- — |
|
|
|
|
|
|
-- – |
|
|
|
|
|
|
`` “ |
|
|
|
|
|
|
'' ” |
|
|
|
|
|
|
` ‘ |
|
|
|
|
|
|
' ’ |
|
|
|
|
|
|
^^~ ˜ |
|
|
|
|
|
|
~
|
|
|
|
|
|
@@@
|
|
|
|
|
|
|
|
|
|
|
|
@@@target tex | LaTeX
|
2026-07-25 21:16:21 +02:00
|
|
|
|
:escape \ \textbackslash{} & \& { \{ } \} $ \$ % \% _ \_ ^# \^# ^^ \textasciicircum{}
|
2026-07-18 18:48:23 +02:00
|
|
|
|
@@@
|
|
|
|
|
|
|
|
|
|
|
|
@@@target pdf | PDF from LaTeX
|
|
|
|
|
|
:includes tex
|
|
|
|
|
|
:after_apply
|
|
|
|
|
|
^:cpp *KLAMMERTEXT_HOME*/sks/document/document tex_to_pdf
|
|
|
|
|
|
@@@
|
|
|
|
|
|
|