Inline-Wortlauttext in ConTeXt

Inline-Wortlauttext in ConTeXt

Ich versuche, TeX-Code inline mit ConTeXt zu setzen. In LaTeX gibt es \verbdafür eine Möglichkeit, aber ich finde das Äquivalent in ConTeXt nicht.

Im Wiki gibt es einigeAnregungCode:

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

Wenn ich jedoch versuche, es zu verwenden, erhalte ich diese Fehlermeldung:

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


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

Ich habe keine Ahnung, was es \initializetypingtut und ob es benötigt wird. Wenn ich es entferne, erhalte ich die gleiche Meldung \startverbatimcolorusw. Dieses Makro scheint nicht brauchbar zu sein. Gibt es eine Alternative?

Antwort1

Um Code inline einzugeben, können Sie verwenden \type, was beschrieben istHierim Wiki. Es kann verwendet werden als:

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

(Im dritten Fall können Sie praktisch jedes einzelne Zeichen als Trennzeichen verwenden, nicht nur |, und zwar auf die gleiche Weise, wie es LaTeX \verbzulässt.) Das optionale Argument [...], falls angegeben, sollte eine Liste von Schlüssel-Wert-Paaren sein: die gültigen Optionen sind genau diejenigen, die \setuptype( verstehen.Hierim Wiki). Laut der Installation auf meinem Rechner,

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

Die Optionen, die Sie übergeben können, \typesind:

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

Dabei imitiere ich den Stil des Wikis und verwende Klammern, (...)um den Standardwert anzugeben.

\typeWenn Sie immer wieder die gleichen Optionen eingeben , finden Sie dies möglicherweise \definetypenützlich.Hierim Wiki. Es funktioniert genauso wie alle Stilbefehle \define...in ConTeXt.

Um das Makro von Taco nachzuahmen \typeTEX(das nur mit MKII funktioniert), können Sie ein neues typewie folgt definieren

\definetype
  [typeTEX]
  [option=tex]

\starttext

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

\stoptext

Dadurch wird die TeX-Syntaxhervorhebung auf den Inhalt von angewendet \typeTEX.

verwandte Informationen