Latex3: \ msg_term mensagens não dizem de onde vêm

Criado em 11 mai. 2021  ·  12Comentários  ·  Fonte: latex3/latex3

Conforme mostrado pelo seguinte MCE, \msg_term mensagens não dizem de onde vêm (ao contrário de \msg_warning mensagens):

\begin{filecontents*}[overwrite]{mypackage.sty}
\ProvidesExplPackage
  {mypackage}
  {2021-05-11}
  {0.1}
  {
    My Nice package
  }
\NeedsTeXFormat{LaTeX2e}
%
\msg_new:nnn {mypackage} {Foo} {FOOBAR}
\msg_warning:nn {mypackage} {Foo}
\msg_term:nn {mypackage} {Foo}
\end{filecontents*}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\documentclass{article}
\usepackage{mypackage}
\begin{document}
\end{document}

escreve:

Empacotar meu pacote Aviso: FOOBAR

FOOBAR

ao passo que, para o último, seria de se esperar:

Pacote mypackage Info: FOOBAR

decision-needed

Comentários muito úteis

Eu meio que concordo com isso, mas não acho que realmente queremos um segundo eixo. erros + avisos devem sempre ser relatados imho no terminal + log, apenas para informações, parece que realmente existem duas classes info (somente log) e term-info.

Observe que ter eixos separados ajudaria muito de qualquer maneira, porque normalmente não queremos que todas as informações de repente se tornem term-infos (o que você poderia de qualquer maneira mapeando info para term-info), mas normalmente apenas algumas informações para sempre ir para o terminal, então eu consideraria adicionar uma outra categoria terminfo e alguns \msg_terminfo:nn para que você possa deixar suas intenções para o comportamento padrão claras no código sem a necessidade de definir isso algo oculto na configuração do msg .

Todos 12 comentários

Não estou muito familiarizado com l3msg , mas acho que isso é intencional. Se você quiser uma mensagem "Info", ela pode ser obtida usando \msg_info:nn (mas depois vai para o log).

\msg_info:nn (mas depois vai para o log).

Esse é o ponto: AFAICT, é bastante comum ver no terminal algumas mensagens de informação que são perfeitamente identificáveis.

A decisão de design aqui foi que a maioria das mensagens são de erro / aviso / informações e devem ir para o terminal e para o log. As duas funções de 'nível inferior', \msg_term:nn e \msg_log:nn , são bastante especializadas e devem ser 'não barulhentas'.

a maioria das mensagens é de erro / aviso / informação e deve ir tanto para o terminal quanto para o log.

Mas, precisamente, as mensagens informativas vão apenas para o registro:

\ msg_ info: nnnnnn {⟨módulo⟩} {⟨mensagem⟩} {⟨arg um⟩} {⟨arg dois⟩} {⟨arg três⟩} {⟨arg quatro⟩}

Emite ⟨módulo⟩ de informações ⟨mensagem⟩, passando ⟨arg um⟩ para ⟨arg quatro⟩ para o criador de texto
funções. O texto das informações é adicionado ao arquivo de log.

@dbitouze Ah, desculpe, sim: as informações estão apenas no log quando você diz. O objetivo com as mensagens 'brutas' era mais provável que fossem coisas de nível muito baixo, onde 'ruído' adicional não é necessário. Para ser honesto, não os vimos muito usados ​​'na natureza' - acho que o que me pergunto, em retrospectiva, são os casos de uso. (Para coisas de nível realmente baixo, eu usaria \iow_log:n / \iow_term:n qualquer maneira.)

@josephwright Eu tendo a concordar que "info" deve ser como "aviso", com a diferença de que não é mostrado no terminal, mas não que registra as coisas de maneira diferente. Por exemplo, os avisos são geralmente formatados com quebras de linha explícitas com base na ideia de que há algum prefixo "(módulo)" nas linhas seguintes e quando eu mudo um grupo de aviso para informações, acho que tudo o que deve mudar é onde aparece, não como .

@FrankMittelbach É esse o caso: a questão era: acho que \msg_log:nn , que faz menos (nenhuma) formatação. Indiscutivelmente, poderíamos eliminar \msg_log:nn e \msg_term:nn , pois na verdade eles estão entre o sistema de mensagens e simplesmente despejando linhas no log.

Duas questões distintas estão se misturando um pouco aqui.

  • Mensagens formatadas: atualmente temos erro / aviso / informação, com a última
    aparecendo apenas no log. @dbitouze pede uma mensagem
    terminal também. Talvez ele possa esclarecer um caso concreto em que tal mensagem
    não deveria ser simplesmente uma mensagem de aviso?

  • Mensagens não formatadas: \ msg_ log: nn e \ msg_ term: nn. Não tenho opinião sobre
    se deve mantê-los.

ok, obviamente entendi errado e li a solicitação incorretamente. Nesse caso, eu diria que não deve haver mudança no comportamento 2e normal (e o sistema de mensagens é para 2e, mesmo que estejamos aqui no repo expl3)

@dbitouze pede uma mensagem

Às vezes, você deseja informar o usuário sobre algo, mas não o assustar com um aviso.

Eu concordo com isso - conceitualmente acho que há dois eixos nessas mensagens: onde elas aparecem e quão severas são.

Digamos que eu tenha algum resultado de diagnóstico (marginalmente útil, mas não inútil) do processamento de algumas coisas e o envio para o arquivo de log por padrão. Mostrá-lo no console pode ser bom às vezes (uma opção de usuário “detalhada”), mas seria errado chamar essas coisas de avisos.

Eu meio que concordo com isso, mas não acho que realmente queremos um segundo eixo. erros + avisos devem sempre ser relatados imho no terminal + log, apenas para informações, parece que realmente existem duas classes info (somente log) e term-info.

Observe que ter eixos separados ajudaria muito de qualquer maneira, porque normalmente não queremos que todas as informações de repente se tornem term-infos (o que você poderia de qualquer maneira mapeando info para term-info), mas normalmente apenas algumas informações para sempre ir para o terminal, então eu consideraria adicionar uma outra categoria terminfo e alguns \msg_terminfo:nn para que você possa deixar suas intenções para o comportamento padrão claras no código sem a necessidade de definir isso algo oculto na configuração do msg .

Esta página foi útil?
0 / 5 - 0 avaliações

Questões relacionadas

dbitouze picture dbitouze  ·  8Comentários

stone-zeng picture stone-zeng  ·  25Comentários

EvanAad picture EvanAad  ·  49Comentários

josephwright picture josephwright  ·  12Comentários

dbitouze picture dbitouze  ·  14Comentários