v/+v-argument-type, который сохраняет дословный разделитель?

v/+v-argument-type, который сохраняет дословный разделитель?

Предположим, вы используетеxparseи имеют

\NewDocumentCommand{\macro}{+m}{%
   \addcontentsline{foo}{#1}%
}%

Если \macro{some text}вы попадете в .aux-файл, что-то вроде \@writefile{foo}{some text}.

Время от времени мне хотелось бы, чтобы материал, токенизированный в режиме verbatim-catcode-régime, был обработан аналогичным образом. Т.е.

\verbmacro|some text
some text
some text|

должно (с \newlinechar=\endlinecharи немедленной записью для обеспечения того, чтобы изменение \newlinecharвступило в силу при записи в aux-файл) в .aux-файле выдать что-то вроде:

\@writeVerbatimArgFile{foo}|some text
some text
some text|

\@writeVerbatimArgFileможет обрабатывать свой второй аргумент как +vаргумент -type.

Важнейший момент:

Если вы сделаете \verbmacroаргумент +v-type-argument, окружающий его verbatim-delimiter будет удален. Но он необходим, поскольку он \@writeVerbatimArgFileтакже должен появиться в .aux-файле, в -entry.

Поэтому мой вопрос:

Добавляет ли кxparseимеет ли смысл использовать тип аргумента, подобный v/ +v, в котором дословный разделитель не удаляется?

Неужели люди, которые будут это использовать, принадлежат к такому незначительному меньшинству, что внедрение этого вxparseне стоит усилий?

Пожалуйста, не поймите меня неправильно: это не вопрос типа «Сделай это за меня!». У меня уже есть свои собственные процедуры (не основанные наxparse) для выполнения таких вещей. Например, процедура \UDcollectverbargво втором примеремой ответна вопрос "Уникальные идентификаторы требований и список соответствующих методов испытаний" собирает дословно дословные аргументы как без разделителя, так и с ним.

Вопрос в следующем: будет ли такой тип аргумента использоваться достаточно часто, чтобы усилия по его реализации и затраты ресурсов памяти на хранение базовых макромеханизмов были оправданы?


На первый взгляд можно подумать об определении \verbmacroтаким образом, чтобы |is добавлялся к началу и концу +vаргумента -type перед записью в .aux-файл.

Если бы вы это сделали, вы бы не смогли делать такие вещи, как

\verbmacro?some text with | in it?

больше.

При жестком кодировании |вы получите \@writeVerbatimArgFileтакую ​​запись:

\@writeVerbatimArgFile{foo}|some text with | in it|

Это может быть проблемой.

Если дословный разделитель не задан жестко, а передан, то получится:

\@writeVerbatimArgFile{foo}?some text with | in it?

, что не должно быть проблемой...

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