
ConTeXt를 사용하여 일부 TeX 코드를 인라인으로 조판하려고 합니다. 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|
|
(여기서 세 번째 경우에는 LaTeX에서 허용하는 것과 같은 방식으로 가 아닌 거의 모든 단일 문자를 구분 기호로 사용할 수 있습니다 \verb
.) 선택적 인수 가 [...]
주어지면 키-값 쌍의 목록이어야 합니다. 옵션은 바로\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의 모든 스타일 명령과 동일한 방식으로 작동합니다 .
\typeTEX
Taco의 매크로(MKII에서만 작동)를 모방하려면 type
다음과 같이 새 매크로를 정의할 수 있습니다.
\definetype
[typeTEX]
[option=tex]
\starttext
\typeTEX!\def\TeX{T\kern-.1667em\lower.5ex\hbox{E}\kern-.125emX}!
\stoptext
이는 TeX 구문 강조 표시를 의 내용에 적용합니다 \typeTEX
.