![Плавающие объекты в ConTeXt: изменение имени заголовка и работа команды \input](https://rvso.com/image/281590/%D0%9F%D0%BB%D0%B0%D0%B2%D0%B0%D1%8E%D1%89%D0%B8%D0%B5%20%D0%BE%D0%B1%D1%8A%D0%B5%D0%BA%D1%82%D1%8B%20%D0%B2%20ConTeXt%3A%20%D0%B8%D0%B7%D0%BC%D0%B5%D0%BD%D0%B5%D0%BD%D0%B8%D0%B5%20%D0%B8%D0%BC%D0%B5%D0%BD%D0%B8%20%D0%B7%D0%B0%D0%B3%D0%BE%D0%BB%D0%BE%D0%B2%D0%BA%D0%B0%20%D0%B8%20%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%B0%20%D0%BA%D0%BE%D0%BC%D0%B0%D0%BD%D0%B4%D1%8B%20%5Cinput.png)
Я определил новый тип поплавка для логических схем, который называется 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
.