Closed GoogleCodeExporter closed 7 years ago
No caso, acredito que você poderia usar diretamente os arquivos
abntex2-num.bst e abntex2-alf.bst, que são as instruções diretamente em
BibTeX. Você não precisa do pacote abntex2cite.sty.
Por favor, veja se isso atende às suas necessidades e avise-nos para que
fechemos esta issue.
Curiosidade: o que exatamente você quer dizer com TeX puro? Poderia enviar um
exemplo de documento?
Obrigado! Abraços!
Original comment by laurocesar
on 14 Apr 2014 at 10:47
Com TeX puro (ou TeX simples), em inglês "plain TeX", quero dizer o TeX como descrito no livro do autor do TeX, o TeXbook, de Donald Knut. O LaTeX veio bem depois, com Leslie Lamport. A utilização do TeX (ao invés de LaTeX), por ser um nível mais baixo, permite um maior controle da tipografia do documento.
Por exemplo, no LaTeX, uma função é descrita como:
\newcommand{cmd}[args]{def}; e no TeX como: \def\cmd{def}.
Um exemplo tirado do livro do Knut:
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\hrule
\vskip 1in
\centerline{\bf A SHORT STORY}
\vskip 6pt
\centerline{\sl by A. U. Thor}
\vskip .5cm
Once upon a time, in a distant
galaxy called \"O\"o\c c,
there lived a computer
named R.~J. Drofnats.
Mr.~Drofnats---or ‘‘R. J.,’’ as
he preferred to be called---
was happiest when he was at work
typesetting beautiful documents.
\vskip 1in
\hrule
\vfill\eject
\bye
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Salvar como, por exemplo, story.tex
Compilar desse modo: tex story.tex
Depois: dvipdfm story.dvi
para converter o dvi pra pdf
Uma vantagem que percebi logo de cara com o TeX é a precisão das medidas. Se
entro no código com \vskip 2cm no TeX, depois de impresso o documento, e meço
com a régua, vai ter exatamente 2cm. Isso já não acontece com o LaTeX. Após
impresso, se medir com a régua a medida será maior que 2cm. Também os
comandos \leftskip, \vskip, etc., no LaTeX não são precisos, é preciso de um
pacote (geometry) para poder obter medidas exatas de margem.
Com relação ao bibTeX, não dá pra usar diretamente os arquivos .bst. Tal
qual em LaTeX, é preciso de um código extra, que vai interpretar esses
arquivos. Mas esse código extra precisaria ser escrito em TeX, de acordo com
as definições no livro do Knut.
Eu tenho um exemplo de código com uso de bibtex no TeX, que encontrei na
internet, mas com referẽncias numéricas, não alfabéticas. Eu precisaria de
referências alfabéticas, e claro, utilizando o abntex2-alf.bst. Posso enviar
o exemplo caso deseje. Só preciso dar uma enxugada no código antes, pra ficar
mais claro. Porém, no caso, utilizei um .bst numérico que eu mesmo criei com
o makebst (pois o código que encontrei só funciona para .bst feito para
referẽncias numéricas); a ideia é utilizar o modelo abntex alfabético.
Ainda não experimentei o código com o abntex2-num.bst (o numérico). Acredito
que não funcione 100%, pois precisaria de um código específico para
interpretá-lo.
Original comment by lrsilve...@gmail.com
on 14 Apr 2014 at 3:31
[deleted comment]
Preparei um exemplo simples com uns testes que fiz com os arquivos
abntex2-num.bst e abntex2-alf.bst, em anexo.
Ainda seria preciso adaptar os códigos dos arquivos .sty para rodar no plain
TeX e assim formatar a saída corretamente nas normas ABNT. Eu precisaria do
correspondente às seguintes opções do LaTeX:
\usepackage[alf,abnt-repeated-title-omit=yes,abnt-show-options=warn,abnt-emphasi
ze=bf,abnt-etal-list=0]{abntex2cite}
porém adaptado ao plain TeX. Para o bibtex funcionar no TeX é preciso do
macro btxmac inclusa.
Para compilar o exemplo:
tex exemplo.tex
bibtex exemplo
tex exemplo.tex
tex exemplo.tex
dvipdfm exemplo
Original comment by lrsilve...@gmail.com
on 15 Apr 2014 at 5:39
Attachments:
Creio que teria que adaptar o estilo abntex2-alf.bst. Com o estilo
abntex2-num.bst, a bibliografia é formatada corretamente, mas as chamadas no
texto, não.
Você teria que adaptar os estilos .bst e formatar as chamadas no texto -- ver
http://tug.org/eplain/doc/eplain.html#Citations.
Entendo que é só um exemplo, mas mesmo assim, seria utilizado menos código
(e menos texto) para gerar um documento assim, segundo as normas ABNT,
utilizando LaTeX e o pacote abntex2.
======
Tenho notado que há estilos bibtex que funcionam.
Tem que usar \input btxmac:
\input btxmac
%\input eplain
The \TeX{}book~\cite{knuth:tex} is good.
\medskip
\leftline{\bf Refer\^{e}ncias}
\bibliography{mybib}
\bibliographystyle{abntex2-num.bst}
\bye
Arquivo mybib.bib:
@BOOK{knuth:tex,
author = "Donald E. Knuth",
title = "The {\TeX}book",
publisher = "Addison-Wesley",
year = "1984",
}
Compilando pdftex + bibtex + pdftex funciona normalmente.
Não é preciso compilar para .dvi e depois para .pdf: pdftex faz isso direto.
Também não sei se é possível especificar a codificação -- e escrever
todos os acentos como comandos é inviável. Há outras modificações que
deveriam ser feitas -- para inserir hifenização etc. É muito incômodo para
pouco benefício. Se houver algum benefício tangível, ficaria contente em
saber.
Tenho dúvidas quanto a se o usuário final acabaria utilizando "menos código"
do que em Latex. Em teoria, o "programador" ou usuário final teriam mais
trabalho. Veja, por exemplo, criar um sumário:
http://tex.stackexchange.com/questions/157056/creating-my-own-tableofcontents-in
-plain-tex
Ou inserir imagens:
http://tex.stackexchange.com/questions/63789/inserting-an-image-in-plain-tex.
Enfim, quanto às medidas, fiz um teste com o \vskip 2cm, utilizando um
documento básico, e na verdade a distância fica, sim, a *exatos 2 cm*,
horizontal ou verticalmente (de uma linha-base a outra).
\documentclass{article}
\usepackage[brazil]{babel}
\usepackage{lmodern}
\usepackage{lineno}
\begin{document}
\linenumbers
Uma linha.
\vskip 2 cm
Uma linha.
\vskip 2 cm
Uma linha.
\vskip 2cm
Uma linha.
\vskip 2cm
Uma linha.
\vskip 2cm
Uma linha.
\vskip 2cm
Uma linha.
\vskip 2cm
Uma linha.
\vskip 2cm
Uma linha.
\vskip 2cm
I \hskip 2cm I
\end{document}
Original comment by yche...@gmail.com
on 15 Apr 2014 at 9:36
No documento "abntex2cite-alf.pdf", no item 4.1, diz: "Se você quiser usar
apenas o estilo bibliográfico, e não utilizar o esquema de citações,
selecione com o comando:
\bibliographystyle{abnt-alf}
(inclusive precisam corrigir no documento, pois é "abntex2-alf")
mas esteja avisado que nesse caso as chamadas no texto não estarão em
conformidade com a ‘norma’.
Dessa forma, as citações no texto não estarão em conformidade com as normas
brasileiras, porém a bibliografia será formatada corretamente."
Assim, creio que é preciso adaptar também o arquivo que contém o esquema de
citações "abntex2cite.sty" para uso no TeX. Até porque instruções como
\citeonline são definidas nesse arquivo. Também, o "default" para texto
grifado na bibliografia é itálico, e eu precisaria de normal negrito.
Precisaria de um resultado semelhante ao obtido quando utilizo isso no LaTeX:
\usepackage[alf,abnt-repeated-title-omit=yes,abnt-show-options=warn,abnt-emphasi
ze=bf,abnt-etal-list=0]{abntex2cite}
Compilar com pdftex realmente é o caminho mais simples pra chegar no arquivo
.pdf. Mas curiosamente, compilar com tex e converter com dvipdfm, o .pdf fica
com um tamanho menor. Não sei a explicação. Costumo usar ora um, ora outro.
=========
Quanto à questão TeX versus LaTeX:
Não era minha pretensão entrar nesse assunto, neste tópico. Daria outro
tópico, pois haveria muito o que discutir e trocar ideias. Mas já que
acabamos entrando no assunto, vamos lá...
Existe na internet longas discussões sobre as preferências em usar o LaTeX ou
o TeX original, cada um defendendo seu ponto de vista:
http://tex.stackexchange.com/questions/7278/reasons-to-use-plain-tex
Como dizem no fórum, a curva de aprendizado do TeX é maior, mas uma vez
percorrida traz um controle maior no uso dos recursos da linguagem. É o que
também defende Petr Olsak, com seu conjunto de macros escritas para TeX. Ele
afirma que com um conjunto simples e eficiente de macros (como o que ele
desenvolveu, chamado de OPmac) fica muito simples fazer alterações
diretamente no código dessas macros, para se alcançar o resultado desejado.
Por outro lado, o LaTeX possui muitos pacotes com dezenas de milhares de linhas
de código para resolver problemas semelhantes:
http://math.feld.cvut.cz/ftp/olsak/bulletin/tb106olsak-opmac.pdf
Dessa forma, as linhas de código a que me referi são dos pacotes do LaTeX, e
não do documento do usuário. O usuário acessa os pacotes através de
\usepackage e de passagem de parâmetros. Porém, se ao invés de passagem de
parâmetros para um pacote, tivermos uma macro com um código simples e
eficiente para determinada tarefa, a alteração diretamente no código dá um
controle muito maior na saída desejada. Essa que é a ideia.
No sentido prático, precisamos apenas de:
- um conjunto de macros como o OPmac (que traz criação automática de
sumário, formatação de margens, etc.)
- tabela de hifenização em português, como esta:
http://dante.ctan.org/tex-archive/language/portuguese/pt8hyph.tex
- uma macro para definição de fontes, como a fontch.tex (que também é bem
simples)
Então, as questões de codificação, sumário, lista de figuras e de tabelas,
captions, etc., já estão resolvidas, inclusive da acentuação (não utilizo
os acentos como comandos, o fontch.tex resolve o problema). É que no exemplo
que enviei quis simplificar ao máximo o documento para enfatizar apenas os
estilos bibliográficos.
Sem sombra de dúvida, para o usuário iniciante o LaTeX é a melhor opção.
Pode-se ver resultados mais rápidos. Mas conforme temos necessidade de
modificar ou personalizar mais os resultados, o TeX dá um controle maior, por
termos contato com um nível mais baixo da linguagem. Tenho utilizado tanto um
como o outro.
O desafio proposto é uma versão de estilo bibliográfico abnTeX compatível
com o plain TeX. Talvez ao final colocá-lo disponível numa pasta do projeto
juntamente com o abntex2, para usuários mais avançados ou os que queiram se
aventurar utilizando o estilo no TeX original.
===================
Com relação às medidas exatas de \vskip e \hskip no LaTeX:
Compilei o código postado, e imprimi com o adobe Acrobat, sem ajuste de escala
(ou seja, tamanho original), papel A4 numa impressora a laser hp. Também
imprimi como Bitmap usando o programa PDFill. Resultado da medição com a
régua e da medição com ferramenta do Photoshop:
- De uma linha-base a outra: 2,43cm;
- Espaço em branco entre duas linhas: 2,18cm;
- Distância entre os I's com o \hskip: 2,13cm.
Estou usando o MikTeX versão 2.8 (configurado para papel A4) no windows XP.
Compilando com o pdflatex. No Debian wheezy com o TexLive tenho resultado
semelhante. Coloquei o .pdf gerado no winXP em anexo. Alguma sugestão?
Original comment by lrsilve...@gmail.com
on 15 Apr 2014 at 9:31
Attachments:
Caro lrsilveira
Obrigado pela sugestão de correção do documento abntex2cite.tex. Já o
corrigi! Se perceber algo mais, por favor, avise-nos.
Quanto à ideia de tornar o abntex2cite compatível com o TeX, acho ótima a
ideia! Atualmente temos modelos e macros para LyX
(https://code.google.com/p/abntex2/wiki/LyX), por exemplo. Então, acredito que
seria muito interessante termos para TeX!
Você topa ser o responsável por essa linha de trabalho? Se topar, adicione
você à lista de pessoas que contribuem ao projeto e controlamos as atividades
pelas issues. Daí criamos páginas na Wiki para explicar o uso e podemos até
criar um modelo de documento inteiro em TeX puro. É claro que eu e quem mais
tiver interessado vamos lhe ajudando.
Topas? Abraços!
Original comment by laurocesar
on 15 Apr 2014 at 9:43
Caro lrsilveira, o código Latex abaixo gera espaços de 2 cm entre as
linhas-base.
\documentclass{article}
\pagestyle{empty}
\begin{document}
Uma linha.
\vskip 2cm
Uma linha utilizando vspace abaixo (deve haver espaço/parágrafo):
\vspace{2cm}
\end{document}
===
A explicação para a diferença é que o \vskip não equivale a um espaço
entre as linhas-base: ele simplesmente adiciona um espaço a outros espaços
que o TeX possa ter adicionado. A diferença entre as medições pode ser
resultado de \baselineskip + \parskip -- mas em todo caso, um espaço de 2 cm
será igual em TeX e LaTeX.
Eu acho interessante a ideia de utilizar plain TeX e criar um estilo Bibtex
para isso, mas somente como exercício. Até hoje eu não encontrei nada que
precisasse que não pudesse ser feito em Latex -- se você tiver algum exemplo,
seria muito bem-vindo.
Original comment by yche...@gmail.com
on 16 Apr 2014 at 12:55
Caro Lauro César:
Acho interessante a ideia sim. Contudo, estou com pouquíssimo tempo devido às
atividades do doutorado, e o andamento das coisas pode ser lento. Mas vou
entrar na lista e vamos trocando ideias. Veremos o que conseguimos fazer.
Lembrando que o LyX é apenas um editor de texto, e o modelo para LyX continua,
em sua essência, em LaTeX. No caso o TeX é um outro compilador, e será
preciso mudanças mais profundas no modelo para ficar 100% compatível.
A ideia de criar um documento todo em plain TeX também é interessante, e
diria que é até mais fácil do que criar um estilo bibliográfico, pois já
tem bastante coisa pronta disponível.
Abraço!
Original comment by lrsilve...@gmail.com
on 17 Apr 2014 at 6:17
Prezado ycherem,
Tens razão, as variáveis \baselineskip + \parskip afetam o valor de \vskip ou
\vspace, tanto em documentos em TeX puro quanto em LaTeX; percebi isso nos
testes que fiz aqui. Alterando \baselineskip e \parskip para zero no LaTeX,
obtenho \vspace ou \vskip com dimensões exatas. Obrigado pela dica!
Ainda tenho algumas dúvidas...
- Há uma forma de definir margens de páginas com medidas exatas no LaTeX,
usando algo como \hsize, \vsize, \hoffset e \voffset? No LaTeX só consigo
medidas exatas de margem com o pacote "geometry", aquelas variáveis não
trabalham muito bem, as medidas não saem exatas. Já no plain TeX, essas 4
variáveis me dão um resultado perfeito.
- Se estou editando um livro no LaTeX, como faço para definir um cabeçalho,
frente e verso, com o nome do capítulo nas páginas pares, e nome da seção
nas ímpares? No TeX eu consegui com alguma programação, mas no LaTeX não
tenho ideia.
====================
A ideia de utilizar plain TeX e criar um estilo abnt do bibtex como exercício
é interessante também. Não faz muito tempo que comecei a mexer com o TeX e
sua linguagem, porém, achei mais fácil compreender os códigos em TeX do que
os códigos dos pacotes LaTeX. Em essência, nos pacotes do LaTeX tem código
TeX, mas também há bastante coisa específica de LaTeX e, nesse caso, não
compreendo bem. Precisarei de ajuda para entender o que faz cada parte do
código do abncite.sty...
Outra questão interessante é a diferença na quantidade de linhas de código
entre uma macro em TeX e um pacote do LaTeX. Tomemos como exemplo a macro
"margins" do conjunto OPmac para TeX, que permite definição automática de
margens nas páginas do documento. Essa macro contém apenas 57 linhas de
código. Já o pacote "geometry" do LaTeX tem por volta de 1000 linhas de
código para fazer exatamente a mesma coisa... Alguma explicação?
Original comment by lrsilve...@gmail.com
on 17 Apr 2014 at 7:34
Original comment by laurocesar
on 22 Apr 2014 at 11:39
Original issue reported on code.google.com by
lrsilve...@gmail.com
on 14 Apr 2014 at 2:54