
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=\endlinechar
gravação imediata para garantir que a alteração \newlinechar
esteja em vigor durante a gravação no arquivo aux) no arquivo .aux produzir algo como:
\@writeVerbatimArgFile{foo}|some text
some text
some text|
\@writeVerbatimArgFile
poderia processar seu segundo argumento como +v
argumento do tipo.
O ponto crucial é:
Se você transformar \verbmacro
o argumento de em um +v
argumento de tipo, o delimitador literal ao redor será removido. Mas é necessário porque deve aparecer no arquivo .aux, na \@writeVerbatimArgFile
entrada também.
Portanto minha pergunta é:
Adicionando axparseum tipo de argumento semelhante a v
/ +v
onde 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 \UDcollectverbarg
no 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 \verbmacro
de uma forma onde |
é anexado e anexado ao +v
argumento -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 \@writeVerbatimArgFile
entrada 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...