
Estoy intentando componer algún código TeX en línea con ConTeXt. En LaTeX hay que \verb
manejar eso, pero no encuentro el equivalente en ConTeXt.
En la Wiki, hay algunossugerenciacódigo:
\def\typeTEX
{\bgroup
\def\processinlineverbatim##1%
{\processingverbatimtrue
\localcatcodestrue
\def\endofverbatimcommand{\TEXendofcommand##1}%
\bgroup
\aftergroup\endofverbatimcommand
\futurelet\next\doprocessinlineverbatim}%
\initializetyping{TEX}%
\startverbatimcolor
\processinlineverbatim\egroup }
Sin embargo, cuando intento usarlo, aparece este error:
tex error > tex error on line 34 in file /.../xyz.tex: ! Undefined control sequence
\typeTEX ...cessinlineverbatim }\initializetyping
{TEX}\startverbatimcolor \...
No tengo idea de qué \initializetyping
hace y si es necesario. Si lo elimino, aparece el mismo mensaje \startverbatimcolor
y así sucesivamente. Esta macro no parece utilizable. ¿Hay alguna alternativa?
Respuesta1
Para escribir código en línea, puede utilizar \type
, que se describeaquíen la wiki. Se puede utilizar como:
\type[optional arg]{content with balanced braces}
\type[optional arg]<<content not containing the string ">>" anywhere>>
\type[optional arg]|content not containing the string "|" anywhere|
(En el tercer caso aquí, puede usar prácticamente cualquier carácter como delimitador, no solo |
, de la misma manera que lo permite LaTeX \verb
). El argumento opcional [...]
, si se proporciona, debe ser una lista de pares clave-valor: el válido Las opciones son exactamente las que \setuptype
entiende (aquíen la wiki). Según la instalación en mi máquina,
ConTeXt ver: 2017.06.30 19:45 MKIV beta fmt: 2017.7.5
las opciones a las que puedes pasar \type
son:
color = COLOR
command = CSNAME
compact = absolute last (all)
escape = yes (no) TEXT PROCESSOR->TEXT
left = COMMAND
lines = yes (no) normal hyphenated
option = mp lua xml parsed-xml nested tex context none NAME
right = COMMAND
space = on (off) normal fixed stretch
tab = (yes) no NUMBER
donde imito el estilo de la wiki y uso corchetes (...)
para indicar el valor predeterminado.
Si te encuentras pasando las mismas opciones \type
una y otra vez, entonces puede que te resulte \definetype
útil, lo cual esaquíen la wiki. Funciona de la misma manera que todos los \define...
comandos de estilo en ConTeXt.
Para imitar la macro de Taco \typeTEX
(que solo funciona con MKII), puede definir una nueva type
como se muestra a continuación
\definetype
[typeTEX]
[option=tex]
\starttext
\typeTEX!\def\TeX{T\kern-.1667em\lower.5ex\hbox{E}\kern-.125emX}!
\stoptext
Esto aplicará el resaltado de sintaxis TeX al contenido de \typeTEX
.