v/+v-argument-type que mantém o delimitador literal?

v/+v-argument-type que mantém o delimitador literal?

Suponha que você usexparsee tem

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

Com \macro{some text}você, entre no arquivo .aux algo como \@writefile{foo}{some text}.

De vez em quando, desejo processar material tokenizado sob o regime verbatim-catcode de maneira semelhante. Ou seja,

\verbmacro|some text
some text
some text|

deve (com \newlinechar=\endlinechargravação imediata para garantir que a alteração \newlinecharesteja em vigor durante a gravação no arquivo aux) no arquivo .aux produzir algo como:

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

\@writeVerbatimArgFilepoderia processar seu segundo argumento como +vargumento do tipo.

O ponto crucial é:

Se você transformar \verbmacroo argumento de em um +vargumento de tipo, o delimitador literal ao redor será removido. Mas é necessário porque deve aparecer no arquivo .aux, na \@writeVerbatimArgFileentrada também.

Portanto minha pergunta é:

Adicionando axparseum tipo de argumento semelhante a v/ +vonde o delimitador literal não é removido faz sentido?

Será que as pessoas que usariam isto pertencem a uma minoria tão pequena que a implementação disso emxparsenão vale a pena os esforços?

Por favor, não me entenda mal: isso não pretende ser uma pergunta do tipo “Faça por mim!”. Já tenho minhas próprias rotinas (não baseadas emxparse) para fazer essas coisas. Por exemplo, a rotina \UDcollectverbargno segundo exemplo deminha respostapara a pergunta "IDs de requisitos exclusivos e lista de métodos de teste correspondentes" coleta argumentos textualizados sem e com o delimitador.

A questão é: Será que tal tipo de argumento seria usado com frequência suficiente para que o esforço de implementá-lo e gastar recursos de memória para armazenar os macromecanismos subjacentes valesse a pena?


À primeira vista, você poderia pensar em definir \verbmacrode uma forma onde |é anexado e anexado ao +vargumento -type antes de gravar no arquivo .aux.

Se você fizesse isso, não poderia fazer coisas como

\verbmacro?some text with | in it?

não mais.

Com um hardcoded |você obteria uma \@writeVerbatimArgFileentrada como esta:

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

Isso pode ser um problema.

Se o delimitador literal não for codificado, mas transmitido, você obterá:

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

, o que não deve ser um problema...

informação relacionada