Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия, Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки
Здравствуйте. У меня есть задача: есть счетчик определений(привязанный к subsection, т.е имеет вид chapter.section.subsection.definition). И на эти определения нужно ссылаться, но по-разному: если определение в этой же главе, то ссылка должна состоять из одного числа(definition), а если между главами, то их четырех(chapter.section.subsection.definition). Если кто-то знает решение, то напишите, пожалуйста. Я же придумал следующее: c помощью \ref*{label} - получаю строку(счетчик), и потом беру подстроку после третей точки. Это реализуется командой /StrBehind[3]{str}{.} из xstring.
\def\mystring{\ref*{boundary}} \StrBehind[3]{\mystring}{.} (boundary - ссылка на определение, написанное отдельно)
Но по умолчанию или при использовании \fullexpandarg появляются ошибки:
Use of \\smash doesn't match its definition. Argument of \@refstar has an extra }.
При использовании других режимов (\noexpandarg, \normalexpandarg или \expandarg) Результат работы StrBehind - пустая строка.
Я решил что ошибка в раскрытии макросов, т.к если \mystring присвоить обычную рукописную строку, то все работает как задумано. Нельзя ли как-то преобразовать \ref* в константную строку?
Lia
Re: Проблема в раскрытии макроса.(Или нет?)
07.07.2019, 03:07
SarasDeras Приведите минимальный рабочий пример (см. topic127394.html), иллюстрирующий проблему. Оформите код с помощью подсветки синтаксиса LaTeX.
Lia
Posted automatically
07.07.2019, 03:08
i
Тема перемещена из форума «TeXнические обсуждения» в форум «Карантин» по следующим причинам: