2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




 
 Проблема в раскрытии макроса.(Или нет?)
Сообщение05.07.2019, 23:32 
Здравствуйте. У меня есть задача: есть счетчик определений(привязанный к 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* в константную строку?

 
 
 
 Re: Проблема в раскрытии макроса.(Или нет?)
Сообщение07.07.2019, 03:07 
SarasDeras
Приведите минимальный рабочий пример (см. topic127394.html), иллюстрирующий проблему.
Оформите код с помощью подсветки синтаксиса LaTeX.

 
 
 
 Posted automatically
Сообщение07.07.2019, 03:08 
 i  Тема перемещена из форума «TeXнические обсуждения» в форум «Карантин»
по следующим причинам:

См. выше.

Исправьте все Ваши ошибки и сообщите об этом в теме Сообщение в карантине исправлено.
Настоятельно рекомендуется ознакомиться с темами Что такое карантин и что нужно делать, чтобы там оказаться и Правила научного форума.

 
 
 [ Сообщений: 3 ] 


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group