Плавающие объекты в ConTeXt: изменение имени заголовка и работа команды \input

Плавающие объекты в ConTeXt: изменение имени заголовка и работа команды \input

Я определил новый тип поплавка для логических схем, который называется logigram:

\definefloat [logigram] [logigrams]

Используя возможности ConTeXt (т. е. условную обработку), я параллельно создаю французскую и английскую версии моего документа:

\starttext
    \startmode [english]
        \placelogigram [right] {Logigram of a negation} {\input negation.tikz}
        The logic circuit of a negation is the opposite logigram.
    \stopmode

    \starmode [french]
        \placelogigram [right] {Logigramme d'une négation} {\input negation.tikz}
        Le circuit logique d'une négation est le logigramme ci-contre.
    \stopmode
\stoptext

Теперь я хотел бы \placelogigramсоздать название подписи по умолчанию «Logigram» на английском языке, но «Logigramme» на французском языке.

Я также заметил, что ConTeXt не может найти мою картинку Tikz, negation.tikz.texкогда команда \inputиспользуется внутри \placelogigram. Это файл negation.tikz.tex:

%\usemodule [tikz]
%\usetikzlibrary [circuits.logic.US]
\starttikzpicture [circuit logic US]
    \node [not gate, point down, draw] at (0, 0) (notGate) {};
    \draw (notGate.input) -- ++(up:0.5) node [above] {$\phi$};
    \draw (notGate.output) -- ++(down:0.5);
\stoptikzpicture

Заранее благодарю за любую помощь.

решение1

Установка французского языка в качестве языка, используемого при компиляции в frenchрежиме:

\startmode [french]
    \language [french]
    \setcharacterspacing [frenchpunctuation]
    \mainlanguage [french]
\stopmode

и изменение:

\definefloat [logigram] [logigrams]

к:

\definefloat [logigram] [logigrams]
\setuplabeltext [fr] [logigram=Logigramme~]

решает проблему с названием субтитров.

Я использовал \startplacelogigram ... \stopplacelogigramвместо , \placelogigramчтобы получить свой \input:

\startmode [english]
    \startplacelogigram [location=right, title={Logigram of a negation.}]
        \input negation.tikz
    \stopplacelogigram
    The logic circuit of a negation is the opposite logigram.
\stopmode

\startmode [french]
    \startplacelogigram [location=right, title={Logigramme d'une négation.}]
        \input negation.tikz
    \stopplacelogigram
    Le circuit logique d'une négation est le logigramme ci-contre.
\stopmode

EDIT. Как указано в комментариях, чтобы избежать \startplacelogigram ... \stopplacelogigramиспользования \input filename \relaxили \ReadFile {filename}вместо \input filename.

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