Predefinição Discussão:Citar livro/autor/Testes

O conteúdo da página não é suportado noutras línguas.
Adicionar tópico
Origem: Wikipédia, a enciclopédia livre.

Predefinição de teste Citar livro/autor/Testes[editar código-fonte]

O texto seguinte foi movido de: Predefinição_Discussão:Citar_livro#Predefinição_de_teste_Citar_livro/autor/Testes

Preliminarmente, é importante esclarecer os parâmetros com que a "antiga" subpredefinição "Citar livro/autor" lidava:

  • nome: nome do autor principal, exceto o último sobrenome. Exemplo: se o nome completo é "João Paulo Silva", então "nome=João Paulo". Doravante chamarei esse parâmetro de N.
  • sobrenome: último sobrenome do autor principal. Exemplo: "sobrenome=Silva". Doravante chamarei esse parâmetro de S.
  • autor: parâmetro substituto para N e S, o que a propósito acho que foi uma ideia ruim, esse parâmetro não deveria existir. Doravante chamarei esse parâmetro de A: nele, o usuário digita o nome completo do autor, em qualquer formato que quiser. Exemplo: "autor=João Paulo Silva", ou ainda "autor=SILVA, João Paulo", ou ainda "autor=SILVA, João P.", etc.
  • coautor: nome completo de (um ou mais) coautor(es) do livro. Tão má ideia quanto A. Exemplo de uso: "coautor=Ana Martins Marques; Ubiratan Pereira Maciel; Clarice Lispector". Doravante chamarei esse parâmetro de C.

Para evitar problemas, o "certo" teria sido usar essa predefinição declarando somente N+S ou então somente A+C. Infelizmente, os usuários se acostumaram a usar N+S+C, ao longo dos anos. Como eu configurei a versão "atual" para só aceitar N+S ou então A+C, estão ocorrendo os erros que os editores estão reportando.Meh..

A predefinição {{Citar livro}} "chama" a subpredefinição {{Citar livro/autor}} e repassa a ela A, N, S e C, para que ela então analise esses quatro parâmetros e retorne, na saída, os nomes formatados no estilo sobrenome, Nome; Coautor. ou então Autor; Coautor.

A versão anterior da "Citar livro/autor" chamava A de {{{1|}}}, S de {{{2|}}}, N de {{{3|}}} e C de {{{4|}}}. Isso dificultava a compreensão, era necessário consultar o código de "Citar livro" e ver como é que ela estava "invocando" Citar livro/autor. Foi por isto que na "atual" versão da "Citar livro/autor" eu "dei nome aos bois" (aqueles A, N, S e C, que dentro do código são {{{autor|}}}, {{{nome|}}} etc.). Eu faço isso e outras coisas na expectativa de facilitar a análise e compreensão por outros editores que queiram mexer no código. Nessa versão atual eu também criei a opção de se informar três coautores no lugar de C, porém o 1º coautor (que é o "autor2") foi criado com estes parâmetros: nome2 e sobrenome2 (que doravante chamarei respectivamente de N2 e S2). Os outros coautores foram criados do mesmo modo: nome3 e sobrenome3 (N3 e S3, respectivamente), e nome4 e sobrenome4 (N4 e S4, respectivamente).

Acabei de criar Predefinição:Citar livro/autor/Testes, versão de testes preliminares para a futura subpredefinição {{Citar livro/autor}}, que no momento é o que está dando mais problemas.

Além disso, foi necessário desmembrar (e modificar) parte do código da "atual" {{Citar livro/autor}} dentro de {{Citar livro/coautor}}, que é uma nova subpredefinição que em breve criarei. Motivo: as funções sintáticas da Wikipédia são bem limitadas e o código para lidar com tantas opções (A ou N+S, no caso do autor, e C ou N2+S2+N3+S3+N4+S4, no caso dos coautores) ficaria muito extenso, complicado e possivelmente "pesado" caso ficasse todo numa só página. Muito código teria de ser repetido, também. Por isto, na versão que desenvolvi e que vou colocar nas páginas de teste, A+N+S (possíveis nomes do autor) são analisados pela "Citar livro/autor", enquanto que os parâmetros C+N2+S2+N3+S3+N4+S4 (nome e sobrenome dos coautores) são analisados pela "Citar livro/coautor".

Em relação à "Citar livro/autor", seguem as possíveis combinações (tanto corretas quanto erradas) desses parâmetros (A + N+S + C + N2+S2+...+N4+S4), juntamente com:

  1. O que a versão "antiga" da Citar livro/autor retornava quando analisava esses parâmetros;
  2. O que a versão "atual" da Citar livro/autor retorna, ao analisar esses parâmetros; e
  3. Qual é a minha expectativa com o código que criei para a "futura" Citar livro/autor e a "futura" Citar livro/coautor.
Parâmetro Comportamento da
Citar livro/autor "antiga"
Comportamento da
Citar livro/autor "atual"
Comportamento esperado para as "futuras" Citar livro/autor+Citar livro/coautor
A A. A. A. (ou então "A;" + os dados dos autores 2, 3 e 4 (parâmetros N2, S2,..., N4 e S4, e erro caso p.ex. N2+S2 sejam informados juntamente com N4+S4, mas sem se informar N3+S3).
AN A. A. erro avisando que A e N não podem coexistir
AS A. A. erro avisando que A e S não podem coexistir
AC A; C. A; C. A; C. (e erro caso se informe N2, ou S2, ou N3, ou S3, ou... coexistindo com C)
ANS A. A. erro avisando que A não pode coexistir com N ou S
ANC A; C. A; C. erro avisando que A e N não podem coexistir
ASC A; C. A; C. erro avisando que A e S não podem coexistir
N N. N. N. (ou então "N;" + os dados dos autores 2, 3 e 4 (parâmetros N2, S2,..., N4 e S4), e erro caso se informe algo como p.ex. N2+S2 e N4+S4, sem informar nem N3 nem S3).
NS S, N. S, N. S, N. (ou "S, N;" + os dados dos autores 2, 3 e 4, e erro caso se informe p.ex. autor2 (N2 e/ou S2) e autor4 (N4 e/ou S4) mas não se informe o autor3 (N3 e/ou S3))
NC N; C. erro (consequência de a predef. só permitir N+S ou então A+C) N; C. (e erro caso se informe N2, ou S2, ou N3, ou...)
NSC S, N; C. erro (consequência de a predef. só permitir N+S ou então A+C) S, N; C. (e erro caso se informe N2, ou S2, ou N3, ou...)
S S. S. S. (ou "S;" + N2, S2; N3, S3 etc., mas dando erro caso se informe p.ex. N3/S3 mas não N2/S2. É necessário seguir a sequência autor2, autor3, autor4, senão dá erro. Não de deve informar só autor4, por exemplo, sem que haja autor2 e autor3 declarados)
SC S; C. erro (consequência de a predef. só permitir N+S ou então A+C) S; C. (ou S; C. + erro, caso se informe N2, ou S2, ou...)
C C. erro (consequência de a predef. não permitir informar C sem que um A tenha sido informado) C. (ou C. + erro, caso se informe também algum N2, S2, N3 etc.)
ANSC A; C. A; C. erro avisando que A não pode coexistir com N ou S
"nada" "nada" "nada" (inicialmente retornava erro) "nada"

Acho uma boa ideia que após isso (código) estar corrigido, a documentação {{Citar livro/doc}} informe explicitamente que os parâmetros A e C foram depreciados, para que os editores/usuários se acostumem a usar N e S, no lugar de A, e se acostumem a usar N2/3/4 e S2/3/4 no lugar de C. O ideal é que em {{Citar livro/dados}} esses parâmetros A (autor) e C (coautor) nem apareçam mais...

PS: eu sei que este texto ficou gigantesco, mas como explicar tudo o que expliquei aí em cima sem escrever muito?HihiSampayu 04h57min de 28 de janeiro de 2015 (UTC)Responder

PPS: qualquer erro porventura gerado dentro de {{Citar livro/autor/Testes}} adiciona a página à Categoria:!Páginas com erro de uso da predefinição Citar livro.

Infelizmente não está dando para acompanhar. Adotar http://five.sentenc.es/ facilitaria o processo... Helder 10h32min de 28 de janeiro de 2015 (UTC)Responder
Acho uma boa ideia ter dois campos para cada autor, para facilitar a utilizar de notas de referência, portanto concordo com a inadequação do parâmetro "autor" (que usa só um campo). Mas você considerou outras variantes para esses parâmetros? Eu costumo utilizar nessa predef os parâmetros "último"/"primeiro" para me referir ao autor, junto com HarvRef, por entender que "sobrenome" só é usado no Brasil. Stegop, pode confirmar se em Portugal vocês usam "sobrenome" ou "apelido" para o nome de família de um autor? CasteloBrancomsg 16h03min de 28 de janeiro de 2015 (UTC)Responder
Citação: Castelobranco escreveu: «Mas você considerou outras variantes para esses parâmetros?». Isso é indiferente para a Citar livro/autor/Testes. Veja como está o código que pus lá na Citar livro/Testes:
{{Citar livro/autor/Testes
|autor={{{autor|{{{Autor|}}}}}}
|nome={{{nome|{{{nome1|{{{primeiro|}}}}}}}}}
|sobrenome={{{sobrenome|{{{sobrenome1|{{{último|{{{ultimo|}}}}}}}}}}}}
|artigoautor={{{autorlink|{{{linkautor|{{{autorartigo|{{{artigoautor|{{{artigoautor1|}}}}}}}}}}}}}}}
Portanto, se (por exemplo) você informar à Citar livro/Testes algo como "primeiro=Fulano", a Citar livro/Testes vai pegar esse valor "Fulano" e repassá-lo à Citar livro/autor/Testes como "nome=Fulano". Em outras palavras: o que a Citar livro/Testes chama de "nome", "nome1" ou "primeiro" (esses parâmetros são sinônimos), a Citar livro/autor/Testes chama simplesmente de "nome". Não importa qual daqueles três sinônimos você usar: o valor de qualquer um deles será repassado para Citar livro/autor/Testes como sendo "nome".
É graças a isso que na Citar livro/autor/Testes eu não preciso ficar escrevendo códigos superextensos como por exemplo {{{sobrenome|{{{sobrenome1|{{{último|{{{ultimo|}}}}}}}}}}}}: antes de o valor de qualquer um desses parâmetros ser repassado à subpredefinição, esse valor foi armazenado dentro de um único parâmetro ("artigoautor", no caso).Sampayu 23h12min de 28 de janeiro de 2015 (UTC)Responder
Ok, entendi. Mas não vejo "apelido" sendo passado ali. Você checou se em Portugal eles usam esse termo para os sobrenomes dos autores? Se há esse parâmetro na antiga {citar livro}? Se houver artigos por aí com esse parâmetro, esse código vai dar erro, não é? CasteloBrancomsg 00h53min de 30 de janeiro de 2015 (UTC)Responder

────────── Antes de eu começar a mexer na predefinição Citar livro, os parâmetros de autor que existiam na época (na versão de 2013) eram apenas estes:

  • Parâmetro: autor.
    • Alias: Autor.
  • Parâmetro: sobrenome.
    • Aliases: último e ultimo.
  • Parâmetro: nome.
    • Alias: primeiro.

...então não há como alguém ter usado "apelido" ou outra coisa, a menos que tenha feito isso sem confirmar na documentação se era um parâmetro válido. Apesar disso, pode ser interessante conversar com portugueses e adicionar o alias/sinônimo apelido, caso eles confirmem que isso é usual para eles. Eu sei que isso é usado na língua espanhola, mas no português europeu eu não sei.

Uma das características interessantes do código atual de {{Citar livro}} é que todos os aliases de um mesmo parâmetro são repassados para {{Citar livro/autor}} e {{Citar livro/coautor}} como um único parâmetro, por isto é bem fácil adicionar novos aliases sem ter de editar todo o código de "Citar livro/autor" e de "Citar livro/coautor". Exemplo: se quiser adicionar apelido como sinônimo de sobrenome, basta ir lá no código fonte da {{Citar livro}}, daí onde o código estiver "chamando" a "Citar livro/autor" basta substituir sobrenome={{{sobrenome|{{{sobrenome1|{{{último|{{{ultimo|}}}}}}}}}}}} por sobrenome={{{sobrenome|{{{sobrenome1|{{{último|{{{ultimo|{{{apelido|}}}}}}}}}}}}}}}, e fazer o mesmo onde o código da "Citar livro" estiver "chamando" a "Citar livro/coautor". Em 1 minuto você faz isso e já pode usar "apelido".AlegreSampayu 19h35min de 30 de janeiro de 2015 (UTC)Responder