Predefinição Discussão:Citar livro/autor/Testes
Adicionar tópicoPredefiniçã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.
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).
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:
- O que a versão "antiga" da Citar livro/autor retornava quando analisava esses parâmetros;
- O que a versão "atual" da Citar livro/autor retorna, ao analisar esses parâmetros; e
- 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?►Sampayu 04h57min de 28 de janeiro de 2015 (UTC)
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)
- 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)
- 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:
- 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)
{{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)
- 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)
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".►Sampayu 19h35min de 30 de janeiro de 2015 (UTC)