
Estou tentando compor algum código TeX embutido no ConTeXt. No LaTeX há \verb
como lidar com isso, mas não encontro o equivalente no ConTeXt.
No Wiki, há algunssugestãocódigo:
\def\typeTEX
{\bgroup
\def\processinlineverbatim##1%
{\processingverbatimtrue
\localcatcodestrue
\def\endofverbatimcommand{\TEXendofcommand##1}%
\bgroup
\aftergroup\endofverbatimcommand
\futurelet\next\doprocessinlineverbatim}%
\initializetyping{TEX}%
\startverbatimcolor
\processinlineverbatim\egroup }
No entanto, quando tento usar isso, recebo este erro:
tex error > tex error on line 34 in file /.../xyz.tex: ! Undefined control sequence
\typeTEX ...cessinlineverbatim }\initializetyping
{TEX}\startverbatimcolor \...
Não tenho ideia do que \initializetyping
faz e se é necessário. Se eu removê-lo, recebo a mesma mensagem \startverbatimcolor
e assim por diante. Esta macro não parece utilizável. Existe alguma alternativa?
Responder1
Para digitar o código inline você pode usar \type
, que é descritoaquina wiki. Pode ser usado 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|
(No terceiro caso aqui, você pode usar praticamente qualquer caractere como delimitador, não apenas |
, da mesma forma que o LaTeX \verb
permite.) O argumento opcional [...]
, se fornecido, deve ser uma lista de pares de valores-chave: o válido as opções são exatamente aquelas que \setuptype
você entende (aquina wiki). De acordo com a instalação na minha máquina,
ConTeXt ver: 2017.06.30 19:45 MKIV beta fmt: 2017.7.5
as opções que você pode passar \type
são:
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
onde imito o estilo do wiki e uso colchetes (...)
para indicar o valor padrão.
Se você passar as mesmas opções \type
repetidamente, poderá achar \definetype
útil, o que éaquina wiki. Funciona da mesma forma que todos os \define...
comandos de estilo no ConTeXt.
Para imitar a macro do Taco \typeTEX
(que só funciona com MKII), você pode definir um novo type
como a seguir
\definetype
[typeTEX]
[option=tex]
\starttext
\typeTEX!\def\TeX{T\kern-.1667em\lower.5ex\hbox{E}\kern-.125emX}!
\stoptext
Isso aplicará o realce de sintaxe do TeX ao conteúdo do arquivo \typeTEX
.