#[ 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 Target_registry class. (See file target_registry.cpp.) 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 "^" before any punctuation character quotes it (an engine rule, not an SKS one): the character reaches the output literally, taking no part in the transforms above -- ^-^- writes two plain hyphens (a --flag in prose), ^~ a plain tilde. The one exception is the apostrophe: "^" before it opens a literal span instead (a literal apostrophe is ^0027^), and writing that pair even in THIS comment would open one -- the span sentinels are placed before text removal. A target where the raw character would still be re-interpreted declares its rendering with :resolve -- the tex target maps a quoted hyphen to {-} (a bare -- in .tex re-forms TeX's dash ligature) and a quoted tilde to \textasciitilde{} (a raw ~ is TeX's non-breaking space). Verbatim text (@c, @code, ^'...'^) never needs any of this: neither the transforms nor the quoting reach it. ]# @@@state Target_txt_width :desc Width of the text in the plain text target (txt) :value 72 @@@ # The txt target is not fully implemented in the SKS yet. @@@target txt | Plain text with formatting | -- - | --- -- | `` " | '' " | ` ` | ' ' | ~ ^0020^ :after_apply phases.txt_format_footnotes ; phases.txt_justify_blocks @@@ @@@target html | HTML page # :escape < < & & | | --- &^#x2014; | -- &^#x2013; | `` “ | '' ” | ` ‘ | ' ’ | ~ &^#160; :after_apply phases.html_format_footnotes @@@ # No transforms: LaTeX applies the input conventions itself. The :resolve # entries say how a QUOTED character renders where the raw character would # still be re-interpreted by TeX: ^- resolves to {-}, not a bare -, or the # hyphens re-form a run and the dash ligature turns ^-^- into an en-dash; # ^~ resolves to \textasciitilde{}, since a raw ~ is TeX's non-breaking # space. Other quoted punctuation either has an :escape entry (its marker # takes the escape replacement: ^$ renders as \$) or decodes to the raw # character. @@@target tex | LaTeX :escape \ \textbackslash{} & \& { \{ } \} $ \$ % \% _ \_ ^# \^# ^^ \textasciicircum{} :resolve - {-} ~ \textasciitilde{} @@@ @@@target pdf | PDF from LaTeX :includes tex :after_apply ^:cpp *KLAMMERTEXT_HOME*/sks/document/document tex_to_pdf @@@