Встроенный дословный текст в ConTeXt

Встроенный дословный текст в ConTeXt

Я пытаюсь набрать некоторый код TeX в строке с помощью ConTeXt. В LaTeX есть \verbвозможность это сделать, но я не нахожу эквивалента в ConTeXt.

В Вики есть некоторыепредположениекод:

\def\typeTEX
  {\bgroup
   \def\processinlineverbatim##1%
     {\processingverbatimtrue
      \localcatcodestrue
      \def\endofverbatimcommand{\TEXendofcommand##1}%
      \bgroup
      \aftergroup\endofverbatimcommand
      \futurelet\next\doprocessinlineverbatim}%
   \initializetyping{TEX}%
   \startverbatimcolor
   \processinlineverbatim\egroup }

Однако при попытке его использования возникает следующая ошибка:

tex error       > tex error on line 34 in file /.../xyz.tex: ! Undefined control sequence


\typeTEX ...cessinlineverbatim }\initializetyping 
                                                  {TEX}\startverbatimcolor \...

Я понятия не имею, что \initializetypingделает и нужно ли это. Если я его уберу, то получу то же самое сообщение \startverbatimcolorи т. д. Этот макрос не кажется пригодным для использования. Есть ли альтернатива?

решение1

Для ввода кода в строку вы можете использовать \type, который описанздесьна вики. Его можно использовать как:

  • \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|

(В третьем случае вы можете использовать в качестве разделителя практически любой отдельный символ, а не только |, так же, как это \verbпозволяет LaTeX.) Необязательный аргумент [...], если он указан, должен быть списком пар ключ-значение: допустимыми параметрами являются именно те, которые\setuptype понимают (здесьна вики). Согласно установке на моей машине,

ConTeXt  ver: 2017.06.30 19:45 MKIV beta  fmt: 2017.7.5

Варианты, которые вы можете передать \type:

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

где я имитирую стиль вики и использую скобки (...)для указания значения по умолчанию.

Если вы обнаружите, что снова и снова передаете одни и те же варианты \type, то вам может \definetypeпригодиться, а именно:здесьна вики. Работает так же, как и все \define...команды стилей в ConTeXt.

Чтобы имитировать макрос Taco \typeTEX(который работает только с MKII), вы можете определить новый, typeкак показано ниже

\definetype
  [typeTEX]
  [option=tex]

\starttext

\typeTEX!\def\TeX{T\kern-.1667em\lower.5ex\hbox{E}\kern-.125emX}!

\stoptext

Это применит подсветку синтаксиса TeX к содержимому \typeTEX.

Связанный контент