Closed GoogleCodeExporter closed 9 years ago
Já tentou usar o pacote titlesec com o \MakeUppercase?
Original comment by gilsonol...@gmail.com
on 17 Apr 2013 at 7:43
Vi que dá pra fazer, mas como é meio complexo o comando eu fiquei com medo de
prejudicar algo que o abntex2 venha a precisar.
Você sabe como usar mantendo o padrão da ABNT?
Original comment by arar...@gmail.com
on 17 Apr 2013 at 7:57
Qual é o comando?
Original comment by laurocesar
on 17 Apr 2013 at 8:07
Vi isso no stackexchange
\usepackage[explicit]{titlesec}
\usepackage{lipsum}
\titleformat{\section}
{\normalfont}{\thesection}{1em}{\MakeUppercase{#1}}
\begin{document}
\section{Test Section}
\lipsum[1]
\end{document}
Sei que eu trocaria \section e \thesection por \chapter e \thechapter, creio
que devo substituir \normalfont por \ABNTEXchapterfont, mas não sei o que é
esse \lipsum[1] e se eu devo por isso após cada definição de capítulo...
Fazendo assim, há alguma influência negativa no comportamento do abntex?
Link: http://tex.stackexchange.com/questions/36609/formatting-section-titles
Original comment by arar...@gmail.com
on 17 Apr 2013 at 8:17
Ah, desculpem a ignorância, mas o lipsum é só pra escrever algum conteúdo
no documento, gerando aqueles textos "lorem ipsum" da vida.... =\
Original comment by arar...@gmail.com
on 17 Apr 2013 at 8:19
Exato, araruna. Com o titlesec o comando seria esse. Em conjunto com
\ABNTEXsectionfontsize ou \ABNTEXsectionfont.
Outra solução compatível com o manual do memoir é
\setsecheadstyle{\ABNTEXchapterfont\ABNTEXsectionfontsize\MakeUppercase}
Original comment by gilsonol...@gmail.com
on 17 Apr 2013 at 8:45
sggranja, segue aqui a resposta para sua questão incorretamente postada em
outra issue:
Concordo com o Youssef: o ideal é pedir aos usuários que escrevam em
maiúsculo.
De todo modo, para ajudar, voce pode dar uma folheada no manual do Memoir. La
ha exemplos de capítulos com letras maiúsculas.
Outra possibilidade é dar um exemplo do uso da macro chapter, que na verdade
possui a forma abaixo :
\chapter{TÍTULO A SER IMPRESSO NO CORPO DO TEXTO}{Título no
cabeçalho}{Título no Sumario}
Não deixe de consultar a pagina abaixo sobre orientações de como customizar
o abnTeX2:
http://code.google.com/p/abntex2/wiki/ComoCustomizar
Nela esta o link para o manual da classe memoir.
Original comment by laurocesar
on 20 Apr 2013 at 10:32
Olá, desculpem por não ter visto essa issue 51. vou acompanhar daqui.
Sobre ser mais fácil pedir ao usuário escrever em maiúsculas eu não
concordo inteiramente, já que a automatização é desejável em qualquer
projeto de layout em LaTeX.
A questão de ser possível usar \MakeUppercase ou \MakeLowercase em
\ABNTEX_Y_font, sendo _Y_=chapter, section, subsection, etc é uma proposta de
facilitação de configuração dos títulos. Não obstante esse comando ser
indicado para selecionar a fonte e não o CAIXA na qual o títulos serão
impressos.
Como Arthur Rodrigues apontou no início desta issue, seria robusto criar uma
opcção para que os títulos pudessem ser escritos em maiúsculas ou permitir
o uso de \Makeuppercase ou outro comando que mude a CAIXA do texto do título.
Estas são algumas opções:
1- mudança no código da classe antex2.cls criando uma opção
\ABNTEX_Y_caixa, que poderia receber os comandos \MakeUppercase, \MakeLowercase
ou nada que possa se inserido no \printchaptitle ou nos comandos das seções.
2- mudança no código para permitir o uso de \MakeUppercase, \MakeLowercase em
\ABNTEX_Y_font de forma que, p.e.,
\renewcommand{\ABNTEXchapterfont}{\fontfamily{ptm}\fontseries{b}\selectfont\Make
uppercase}
não dê erro como está agora.
Isso tornaria a experiência do usuário em mudar os títulos mais amigável
como é a opção
\setsecheadstyle{\ABNTEXchapterfont\ABNTEXsectionfontsize\MakeUppercase}
citada acima. Enquanto que a criação de novo estilo de capítulos e menos
amigável.
Original comment by sggra...@gmail.com
on 20 Apr 2013 at 9:02
Caro sggranja,
Voce quer fazer a proposta de implementação da opção? Voce pode alterar o
abntex2.cls e nos enviar (por esta issue mesmo) o codigo. Assim analisamos e i
corporamos às próximas versões do abnTeX2, além de incluir você como
colaborador, é claro.
Seria uma excelente contribuição!
Original comment by laurocesar
on 20 Apr 2013 at 10:34
Não tenho experiência nesta área de criação de estilos. Pode demorar mais
do que o usual (se é que existe um tempo para isso).
Vou dar uma olhada no código anterior do abntex e do novo.
Preciso de um tempo para me organizar. Precisaria de ajuda também.
Original comment by sggra...@gmail.com
on 21 Apr 2013 at 1:10
Olá pessoal,
Tenho um arquivo abntex2.cls com as modificações que podem ser úteis para
essa issue 51. As modificações foram tais que tem-se quatro opções novas na
classe abntex2 que foram construídas a partir da classe anterior abnt.cls:
chapter=Title, chapter=TITLE, section=Title, section=TITLE
que alternam os títulos de
errata/dedicatória/agradecimentos/toc/lof/lot/abreviaturas/símbolos/resumo/cap
ítulos/seções/apêndices/anexos entre caixa baixa e caixa alta.
Esta opções não modificam a caixa das letras dos itens do
toc/lof/lot/abreviaturas/símbolos e cabecalhos de páginas. Pretende-se assim
começar a mimetizar alguns dos comportamentos da classe anterior abntex.
O pacote ifthen teve que ser realocado dentro do arquivo fonte da classe e duas
novas variáveis boleanas criadas:
ABNTEXcapchap e ABNTEXcapsec
que são controladas pelas opções anteriores e que controlam as caixas dos
títulos citados.
O arquivo está em anexo.
Espero que a contribuição seja relevante.
Original comment by sggra...@gmail.com
on 21 Apr 2013 at 8:40
Attachments:
Caro sggranja
Já o inseri na lista de colaboradores do projeto:
https://code.google.com/p/abntex2/people/list
Porém, ainda não pude analisar sua contribuição. Farei isso nos próximos
dias e estando tudo correto podemos lançá-la na versão 1.7.
Mas ainda gostaria de te pedir mais uma coisa: você poderia, por favor, enviar
o texto para o manual que descreve as options que você criou? Você pode se
basear na documentação anterior, mas não pode copiá-la porque a licença
daquela documentação é diferente da licença que usamos e temos
autorização dos autores iniciais apenas quanto aos manuais do pacote cite e
não da classe. O texto que você enviar será inserido no manual da classe.
Original comment by laurocesar
on 25 Apr 2013 at 3:10
Caro sggranja
Estive analisando a sua sugestão de alteração da abntex2.cls. Parabéns pela
qualidade da contribuição.
Porém, há um ponto em que precisamos pesquisar um pouco mais antes de
disponibilizar essa funcionalidade. Trata-se das reimplementações dos
comandos \printtoctitle, \printloftitle e \printlottitle, conforme código
abaixo:
\renewcommand\printtoctitle[1]{\centering\ABNTEXchapterfont\ABNTEXchapterfontsiz
e%
\ifthenelse{\boolean{ABNTEXcapchap}}
{\MakeUppercase{#1}}%
{#1}}
\renewcommand\printloftitle[1]{\centering\ABNTEXchapterfont\ABNTEXchapterfontsiz
e%
\ifthenelse{\boolean{ABNTEXcapchap}}
{\MakeUppercase{#1}}%
{#1}}
\renewcommand\printlottitle[1]{\centering\ABNTEXchapterfont\ABNTEXchapterfontsiz
e%
\ifthenelse{\boolean{ABNTEXcapchap}}
{\MakeUppercase{#1}}%
{#1}}
% fonte do título das referencias
\renewcommand{\bibsection}{%
\ifthenelse{\boolean{ABNTEXcapchap}}%
{\chapter*{\MakeUppercase{\bibname}}}%
{\chapter*{\bibname}}%
% \chapter*{\bibname}
\bibmark
\ifnobibintoc\else
\phantomsection
\addcontentsline{toc}{chapter}{\bibname}
\fi
\prebibhook}
Essas alterações, embora funcionem para as três listas padrões, não
funcionarão quando um usuário criar um novo listing (capítulo 9 do manual),
pois o novo título não seguirá a implementação sugerida.
Por isso, é importante analisar se é possível apenas reimplementar macros do
próprio memoir, que seria algo parecido com o conteúdo de
\makechapterstyle{abnt}{%
Acredito que haverá uma única macro que reimplementaremos adicionando o
\MakeUpperCase quando for o caso que servirá para todos os títulos de
listings, inclusive toc.
Você poderia, por favor, analisar essa questão antes de disponibilizarmos sua
contribuição?
O manual do memoir está disponível online:
http://mirrors.ctan.org/macros/latex/contrib/memoir/memman.pdf
Aguardo seu feedback.
Original comment by laurocesar
on 30 Apr 2013 at 12:07
Olá laurocesar,
Vou verificar este problema com as listings no memoir de forma que haja
unificação de formato. Porém somente após o dia 10 de maio.
Original comment by sggra...@gmail.com
on 1 May 2013 at 8:52
Ok. Aguardamos até lá. Estou à disposição!
Original comment by laurocesar
on 1 May 2013 at 1:44
Olá laurocesar, lendo o memoir.cls há a definição do comando \newlistof
que define todas as listas padrão, toc, lof e lot, assim como listas novas.
Porém não tenho conhecimento suficiente para entender como os comandos
funcionam, principalmente os @ que aparecem.
Ao que me parece o alvo de modificações é o \printchapertitle ao final da
listagem.
A seguir a definição do comando \newlistof:
\newcommand{\newlistof}[3]{%
\@namedef{ext@#2}{#2}
\@ifundefined{c@#2depth}{\newcounter{#2depth}}{}
\setcounter{#2depth}{1}
\@namedef{#2mark}{\markboth{#3}{#3}}
\@namedef{#1}{\@ifstar{\@nameuse{mem@#1}{01}}{\@nameuse{mem@#1}{00}}}
\@namedef{cft#2beforelisthook}{}%
\@namedef{cft#2afterlisthook}{}%
\@namedef{mem@#1}##1{%
\ensureonecol
\par
\begingroup
\@nameuse{@#2maketitle}
\if##1
\ifmem@em@starred@listof\else
\phantomsection
\addcontentsline{toc}{chapter}{#3}
\fi
\fi
\parskip\cftparskip
\@nameuse{cft#2beforelisthook}%
\@starttoc{#2}%
\@nameuse{cft#2afterlisthook}%
\endgroup
\restorefromonecol}
\@namedef{@#2maketitle}{%
\@nameuse{#2headstart}
{\parindent\z@
\parskip\z@
%%%% \parskip\cftparskip
\interlinepenalty\@M
\@nameuse{print#2nonum}%
\@nameuse{print#2title}{#3}%
\@nameuse{#2mark}%
\thispagestyle{chapter}%
\@nameuse{after#2title}
}
\@afterheading}
\@namedef{#2headstart}{\chapterheadstart}
\@namedef{after#2title}{\afterchaptertitle}
\@namedef{print#2nonum}{\printchapternonum}
\@namedef{print#2title}##1{\printchaptertitle{##1}}
} % end \newlistof
Poderia me indicar alguma referência ou aguém que possa me auxiliar?
Original comment by sggra...@gmail.com
on 15 May 2013 at 5:58
Caro sggranja
Acabei de publicar uma nova versão do abntex2.cls com a sua contribuição.
Repare que fiz uma revisão geral e, com o que você descobriu, a solução
ficou muito mais simples, uma vez que foi necessário apenas alterar a
customização do capítulo chamado "abnt" provido por nossa classe e ajustar o
nome do resumo (que por algum motivo já não usava o uppercase). Dessa forma,
todos os títulos automaticamente ficaram com uppercase.
Porém, ainda temos uma pendência: não consegui fazer funcionar para as
seções, subseções e subsubseções. Veja no código da classe que temos o
seguinte:
\newcommand{\ABNTEXchapterupperifneeded}[1]{\ifthenelse{\boolean{ABNTEXupperchap
ter}}{\MakeUppercase{#1}}{#1}}
\newcommand{\ABNTEXsectionupperifneeded}{%%
%% O comando abaixo nao funciona:
%%\ifthenelse{\boolean{ABNTEXuppersection}}{\MakeUppercase}%%
}
\newcommand{\ABNTEXsubsectionupperifneeded}{%%
%% O comando abaixo nao funciona:
%%\ifthenelse{\boolean{ABNTEXuppersubsection}}{\MakeUppercase}%%
}
\newcommand{\ABNTEXsubsubsectionupperifneeded}{%%
%% O comando abaixo nao funciona:
%%\ifthenelse{\boolean{ABNTEXuppersubsubsection}}{\MakeUppercase}%%
}
Para que a opção section=TITLE funcione, é preciso descobrir um comando
LaTeX do tipo:
{
\TudoParaMaiusculo
texto qualquer
}
Ou, seja, um comando que funcione sem a necessidade de um parametro, que
funcione do mesmo modo que, por exemplo, o comando abaixo funciona:
{
\textbf
texto qualquer
}
Você poderia pesquisar isso? Com isso feito podemos marcar a tarefa como
concluída!
Original comment by laurocesar
on 16 May 2013 at 12:24
Olá laurocesar,
Muito boa a sistematização do comando \ABNTEXchapterupperifneeded na classe,
porém se houver um \label{labelchap} no \chapter ocorrerá erro. Assim o
comando deve ser modificado o \MakeUppercase para \uppercase
\newcommand{\ABNTEXchapterupperifneeded}[1]{\ifthenelse{\boolean{ABNTEXupperchap
ter}}{\uppercase{#1}}{#1}}
Porém assim o título do resumo não é colocado em maíusculas, somente se
colocar a opção explicitamente [Resumo]. Ainda não colocando as listings em
maiúsculas.
Agora, há o pacote textcase que contorna os problemas de \label, do resumo e
das listings: toc, lof, lot e as novas listings que o usuário pode tentar
criar.
Já testei com a opção chapter=TITLE com as altenativas
* \label no \chapter
* o resumo funciona corretamente
* as listings padrão e novas listings são colocadas em maiúsculas
* Algo mais para testar?
O pacote textcase pode ser carregado logo após o \RequirePackage{ifthen} como:
\RequirePackage[overload]{textcase}
e o comando \ABNTEXchapterupperifneeded modificado para:
\newcommand{\ABNTEXchapterupperifneeded}[1]{\ifthenelse{\boolean{ABNTEXupperchap
ter}}{\MakeTextUppercase{#1}}{#1}}
Acho que podemos separar esta issue 51 em uma que trata títulos de capítulos
e outra que trata de títulos de (sub(sub))seções por questão de
objetividade.
Original comment by sggra...@gmail.com
on 16 May 2013 at 2:02
Acho que resolvi para as (sub(sub))seções
Mod1:
% ---
% Comandos para controlar as opcoes de titulos com letras maiusculas
% ---
\newcommand{\ABNTEXchapterupperifneeded}[1]{\ifthenelse{\boolean{ABNTEXupperchap
ter}}{\MakeTextUppercase{#1}}{#1}}
\newcommand{\ABNTEXsectionupperifneeded}{\ifthenelse{\boolean{ABNTEXuppersection
}}{\MakeTextUppercase}{}}
\newcommand{\ABNTEXsubsectionupperifneeded}{\ifthenelse{\boolean{ABNTEXuppersubs
ection}}{\MakeTextUppercase}{}}
\newcommand{\ABNTEXsubsubsectionupperifneeded}{\ifthenelse{\boolean{ABNTEXuppers
ubsubsection}}{\MakeTextUppercase}{}}
% ---
Mod2:
% Fontes padroes de part, chapter, section, subsection e subsubsection
\newcommand{\ABNTEXchapterfont}{\sffamily}
\newcommand{\ABNTEXchapterfontsize}{\Huge}
\newcommand{\ABNTEXpartfont}{\ABNTEXchapterfont}
\newcommand{\ABNTEXpartfontsize}{\ABNTEXchapterfontsize}
\newcommand{\ABNTEXsectionfont}{\ABNTEXchapterfont}
\newcommand{\ABNTEXsectionfontsize}{\Large}
\newcommand{\ABNTEXsubsectionfont}{\ABNTEXsectionfont}
\newcommand{\ABNTEXsubsectionfontsize}{\large}
\newcommand{\ABNTEXsubsubsectionfont}{\ABNTEXsubsectionfont}
\newcommand{\ABNTEXsubsubsectionfontsize}{\normalsize}
% ---
Mod3:
% tamanhos de fontes de section, subsection e subsubsection
\setsecheadstyle{\ABNTEXchapterfont\ABNTEXsectionfontsize\ABNTEXsectionupperifneeded}
\setsubsecheadstyle{\ABNTEXsubsectionfont\ABNTEXsubsectionfontsize\ABNTEXsubsectionupperifneeded}
\setsubsubsecheadstyle{\ABNTEXsubsubsectionfont\ABNTEXsubsubsectionfontsize\ABNTEXsubsubsectionupperifneeded}
Perdão por não usar o sistema de vesionamento. Em anexo o arquivo atualizado
abntex2.cls
Original comment by sggra...@gmail.com
on 16 May 2013 at 2:34
Attachments:
Olá laurocesar, a seguir o texto referente à descrição das opções:
\begin{description}
\item {\texttt{chapter=Title}} (padrão), \texttt{chapter=TITLE}
Alternam entre caixa baixa e caixa alta apenas os \emph{títulos} dos
ca\-pí\-tu\-los/lis\-tas de
i\-lus\-tra\-ções/ta\-be\-las/si\-glas/sím\-bo\-los/su\-má\-rio/re\-su\-m\-o
s/de\-di\-ca\-tó\-ria/a\-gra\-de\-ci\-men\-to/e\-pí\-gra\-fe/apêndices/anexos
.
Estas opções \emph{não controlam o formato dos items} no sumário/lista
de ilustrações/tabelas, etc; \emph{nem controlam o formato dos cabeçalhos}
de páginas que incluem informações de capítulo.
\item {\texttt{section=Title}} (padrão), \texttt{section=TITLE},
\texttt{sub\-sec\-tion=Title}
(padrão),
\texttt{sub\-sec}\foreignlanguage{english}{\texttt{\-}}\texttt{tion=TITLE},
\texttt{sub\-sub\-section=Title} (padrão), s\texttt{ub\-sub\-section=TITLE}
Alternam entre caixa baixa e caixa alta apenas os \emph{títulos} das
seções, subseções, subsubseções, respectivamente. Estas opções
\emph{não
controlam o formato dos items} no sumário/lista de ilustrações/tabelas,
etc; \emph{nem controlam o formato dos cabeçalhos} de páginas que
incluem informações de secionamento.
\end{description}
Original comment by sggra...@gmail.com
on 16 May 2013 at 9:12
Caro sggranja, apenas mais uma questão: No caso, \MakeTextUppercase é da
package textcase, correto?
O ideal seria investigarmos um pouco mais para tentarmos não incluir mais uma
package a classe. Veja que uma das diretrizes do projeto é justamente
referente a isso: http://code.google.com/p/abntex2/wiki/Diretrizes.
Justifico: cada pacote que incluímos é necessário que tenhamos analisado e
tenhamos certeza de que esse pacote não incluirá nenhum efeito colateral.
Grande parte do trabalho que tive com o abntex2 foi justamente reduzir o uso
exacerbado de pacotes adicionais, que criavam diferentes conflitos com outros
pacotes. Não é preciso se preocupar com uso de pacotes no produção de
texto, mas é importante lembrarmos disso no desenvolvimento da classe e dos
pacotes.
Então, se for possível, gostaria de ver se conseguira uma solução sem o
custo adicional do pacote. Vi rapidamente alguma coisa com \expandlater ou
\relax...
Sobre o texto, acredito que seja para o manual, correto? Por que a linha abaixo
possui tantas barras?
ca\-pí\-tu\-los/lis\-tas de
i\-lus\-tra\-ções/ta\-be\-las/si\-glas/sím\-bo\-los/su\-má\-rio/re\-su\-m\-o
s/de\-di\-ca\-tó\-ria/a\-gra\-de\-ci\-men\-to/e\-pí\-gra\-fe/apêndices/anexos
.
Estamos quase... Abraços!
Original comment by laurocesar
on 16 May 2013 at 9:36
ok,...
1-Primeiro sobre o pacote textcase:
O pacote textcase tem 36 linhas que nos interessam, assim podemos copiar as linhas que definem os comandos \MakeTextUppercase e \MakeTextLowercase e citar a pacote como fonte.
Podemos definir comandos alternativos para não haver choque com alguém que queira usar o textcase, por exemplo, comandos \ABNTEXMakeUppercase e \ABNTEXMakeLowercase. Assim resolve-se o problema de carregar o pacote textcase.
Quanto ao \expandlater é exatamente o que o pacote textcase usa para fazer o serviço que dá certo.
2 - Sobre as barras "\-":
\- é uma alternativa a hifenização das palavras, não vai fazer diferença no documento final, só vai hifenizar onde precisar, pois estas palavras são da língua portuguesa e algumas nem existem na língua inglesa (subsubsection).
Original comment by sggra...@gmail.com
on 17 May 2013 at 12:47
Olá laurocesar,
em anexo está o arquivo abntex2.cls com as modificações no código:
1 - exclusão do pacote textcase;
2 - inclusão do código do pacote textcase.sty devidamente referenciado
3 - criação dos comandos \ABNTEXMakeTextUppercase e \ABNTEXMakeTextLowercase
4 - alteração das ocorrências de \MakeTextUppercase e \MakeTextLowercase
para seus respectivos \ABNTEX*.
Testado e funcionando como anteriormente.
Não sei se há problemas quanto a cópia de código, mas é reutilização e
não vejo problemas.
Por hoje é só.
Original comment by sggra...@gmail.com
on 17 May 2013 at 1:10
[deleted comment]
O arquivo abntex2.cls correto
Original comment by sggra...@gmail.com
on 17 May 2013 at 1:18
Attachments:
Caro sggranja
Fiz a integração da sua contribuição ao código do abnTeX2.
Deixei tudo praticamente igual a como você indicou, exceto a implementação
da \ MakeTextLowercase. Como o pacote textcase é apenas a implementação que
você usou para criar \ MakeTextLowercase, então todos os efeitos colaterais
possíveis já estavam incluídos com a cópia do código (exceto o fato de o
pacote textcase não estar presente). Diante disso, entendo que minha
justificativa para não incluir o pacote já não era o caso. Então ao invés
de reimplementar o comando \MakeTextUppercase, importei diretamente o pacote.
Outra mudança foi que não precisamos de uma opção do tipo chapter=Title,
uma vez que isso é o mesmo que não inserir opção alguma. Dessa forma,
também removi essas opções.
Usei a sua descrição das opções para produzir a versão final da
documentação.
Por favor, veja o resultado e fique à vontade para alterar o que quiser. Você
já tem permissão de escrita no repositório e nem precisa pedir
autorização, ok?
Espero que o abntex2 possa continuar contando com sua contribuição!
Original comment by laurocesar
on 18 May 2013 at 1:04
Original issue reported on code.google.com by
arar...@gmail.com
on 17 Apr 2013 at 7:32Attachments: