texlive[74900] Master/texmf-dist/doc/latex/latex-via-exemplos:

commits+karl at tug.org commits+karl at tug.org
Wed Apr 9 21:59:21 CEST 2025


Revision: 74900
          https://tug.org/svn/texlive?view=revision&revision=74900
Author:   karl
Date:     2025-04-09 21:59:21 +0200 (Wed, 09 Apr 2025)
Log Message:
-----------
latex-via-exemplos (9apr25)

Modified Paths:
--------------
    trunk/Master/texmf-dist/doc/latex/latex-via-exemplos/changelog.txt
    trunk/Master/texmf-dist/doc/latex/latex-via-exemplos/latex-via-exemplos.pdf
    trunk/Master/texmf-dist/doc/latex/latex-via-exemplos/latex-via-exemplos.tex

Modified: trunk/Master/texmf-dist/doc/latex/latex-via-exemplos/changelog.txt
===================================================================
--- trunk/Master/texmf-dist/doc/latex/latex-via-exemplos/changelog.txt	2025-04-09 19:59:10 UTC (rev 74899)
+++ trunk/Master/texmf-dist/doc/latex/latex-via-exemplos/changelog.txt	2025-04-09 19:59:21 UTC (rev 74900)
@@ -1,3 +1,5 @@
+Version 2025-04-09
+  - Correction related to use of combine class
 Version 2025-01-06  
   - Changes the abnt style table examples. Now, using tabularray-abnt.
 Version 2024-12-31

Modified: trunk/Master/texmf-dist/doc/latex/latex-via-exemplos/latex-via-exemplos.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/latex-via-exemplos/latex-via-exemplos.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/latex-via-exemplos/latex-via-exemplos.tex	2025-04-09 19:59:10 UTC (rev 74899)
+++ trunk/Master/texmf-dist/doc/latex/latex-via-exemplos/latex-via-exemplos.tex	2025-04-09 19:59:21 UTC (rev 74900)
@@ -1050,8 +1050,9 @@
 % Decima segunda atualização: 19 de dezembro de 2024
 % Decima terceira atualização: 29 de dezembro de 2024
 % Decima quarta atualização: 31 de dezembro de 2024
-% Decima quinta atualização:
-\date{06 de janeiro de 2025}
+% Decima quinta atualização: 06 de janeiro de 2025
+% Décima sexta atualização:
+\date{09 de abril de 2025}
 
 %%%%%%%%%%%%%%%%%%%%%%%
 % Documet start here
@@ -1163,7 +1164,7 @@
 % Sorocaba, maio de 2022.
 % Sorocaba, outubro de 2023.
 % Sorocaba, dezembro de 2024.
-Sorocaba, janeiro de 2025.
+Sorocaba, abril de 2025.
 
 \
 
@@ -12734,21 +12735,22 @@
 A classe \texttt{combine} agrupa os artigos automaticamente em um único documento, gerando um ``caderno'' de artigos.
 
 Para usar o \texttt{combine}, todos documentos que serão incluídos nele devem estar usando a mesma classe que podem ser \texttt{memoir}, \texttt{book}, \texttt{report}, \texttt{letter} ou \texttt{article}. 
-As classes não suportadas oficialmente como o \texttt{amsart} pode precisar de ajustes manuais para funcionar perfeitamente.
+As classes não suportadas oficialmente como o \texttt{amsart} pode precisar de ajustes manuais para funcionar adequadamente.
 
 %Para \texttt{combine}, o papel está fixado. 
 %Assim, deverá usar o pacote \texttt{geometry} para efetuar ajustes de papel, se necessário.
 
-A classe \texttt{combine} requer mais recursos que o documento normal.
-Assim, para aumentar a memória reservada para isso, coloque
-\begin{singlespacing}
-\begin{lstlisting}
-\usepackage{etex} % to use etex extensions 
-\reserveinserts{28} % using etex extensions
-\end{lstlisting} 
-\end{singlespacing}
-no preâmbulo, caso ocorrer o erro do tipo ``No room for ...''.
-Se ainda ocorrer erro, aumente o valor de $28$ para $50$, por exemplo.
+% Não é mais necessário
+%A classe \texttt{combine} requer mais recursos que o documento normal.
+%Assim, para aumentar a memória reservada para isso, coloque
+%\begin{singlespacing}
+%\begin{lstlisting}
+%\usepackage{etex} % to use etex extensions 
+%\reserveinserts{28} % using etex extensions
+%\end{lstlisting} 
+%\end{singlespacing}
+%no preâmbulo, caso ocorrer o erro do tipo ``No room for ...''.
+%Se ainda ocorrer erro, aumente o valor de $28$ para $50$, por exemplo.
 
 Note que \verb+\maketitle+ ou \texttt{titlepage} é necessário. 
 Se não existir, causa erros.
@@ -12767,7 +12769,9 @@
 %\end{lstlisting} 
 %\end{singlespacing}
 %no preâmbulo conforme indicado em 
-\url{https://tex.stackexchange.com/questions/591145/extra-endgroup-error-when-using-the-combine-document-class}. Note que, colocar
+%\url{https://tex.stackexchange.com/questions/591145/extra-endgroup-error-when-using-the-combine-document-class}. Note que, colocar
+\url{} que é colocar o código
+
 \begin{singlespacing}
 \begin{lstlisting}
 \makeatletter
@@ -12775,31 +12779,46 @@
 \makeatother
 \end{lstlisting} 
 \end{singlespacing}
-no preâmbulo do documento não funciona devidamente, pois quando tenta carregar o pacote que depende do PDF como o \texttt{hyperref} ou pacotes gráficos no modo pdf, gera erros.
-Assim, localize e copie o arquivo \texttt{combine.cls} para onde esta o teu documento tex e efetue a alteração conforme indicado, ou seja, localize a definição de \verb+\c at ladocument+ e comente o primeiro \verb+\endgroup+ que está logo no começo do comando, na linha 232 a distribuição do \TeX{} atual (2023). Com isso, o início da definição deste comando ficará como
+no preâmbulo do documento, após carregar todos pacotes desejados (após todos \verb+\usepackage{}+).
+%  não funciona devidamente, pois quando tenta carregar o pacote que depende do PDF como o \texttt{hyperref} ou pacotes gráficos no modo pdf, gera erros.
+%Assim, localize e copie o arquivo \texttt{combine.cls} para onde esta o teu documento tex e efetue a alteração conforme indicado, ou seja, localize a definição de \verb+\c at ladocument+ e comente o primeiro \verb+\endgroup+ que está logo no começo do comando, na linha 232 a distribuição do \TeX{} atual (2023). Com isso, o início da definição deste comando ficará como
+%\begin{singlespacing}
+%\begin{lstlisting}
+%\newcommand{\c at ladocument}{%
+%  %\endgroup
+%  \let\mainjobname\jobname            %% added
+%  \def\c at lmainauxfile{\jobname.aux}   %% added 
+%\end{lstlisting} 
+%\end{singlespacing}
+%Onde \verb+\endgroup+ do começo do comando ficou comentada.
+Para gerar o sumário com o pacote \texttt{combinet} que vem junto com a classe combine, deverá ajustar o uso de \verb+\contentsline+ que agora tem $4$ parâmetros. Para isso, deve incluir o código
 \begin{singlespacing}
 \begin{lstlisting}
-\newcommand{\c at ladocument}{%
-  %\endgroup
-  \let\mainjobname\jobname            %% added
-  \def\c at lmainauxfile{\jobname.aux}   %% added 
+\makeatletter
+  \renewcommand{\c at laaddcontentsline}[3]{%
+    \c at laaddtocontents{#1}{\protect\contentsline{#2}{#3}{\thecolpage}{}}
+}
+\makeatother
 \end{lstlisting} 
 \end{singlespacing}
-Onde \verb+\endgroup+ do começo do comando ficou comentada.
 
-Vamos supor que artigos a serem incluídos tem a forma como no Exemplo~\ref{ex:d:conferencia}.
+após \verb+\begin{document}+. Note que o combine desativa a inserção de código em \verb+\begin{document}+ e pacotes como \texttt{geometry}, \texttt{babel}, \texttt{hyperref}, etc não efetuam aplicação de ajustes automáticos.
+Assim, deve aplicar os comandos adequados logo após o \verb+\begin{document}+.
 
+Vamos supor que artigos a serem incluídos são \texttt{conferencia1.tex}, \texttt{conferencia2.tex}, etc e têm a forma como no Exemplo~\ref{ex:d:conferencia}.
+
 \begin{singlespacing}
 \begin{lstlisting}[caption={ex-d-conferencia1.tex},label=ex:d:conferencia]
-documentclass[10pt,a4paper]{article}
-% Este arquivo sera processado automaticamente por um programa.
-% Por favor nao altere nada no preamble (ate \begin{document} ).
+\documentclass[10pt,a4paper]{article}
+% Este arquivo será processado automaticamente por um programa.
+% Por favor não altere nada no preamble (até \begin{document} ).
 \usepackage[utf8]{inputenc}
-\usepackage[english,brazil]{babel}
+%\usepackage[english,brazil]{babel}
+\usepackage[english]{babel}
 \usepackage{amsmath}
-\usepackage{amssymb} % Ele carrega amsfonts tambem
+\usepackage{amssymb} % Ele carrega amsfonts também
 \usepackage{enumerate}
-% Por favor nao inclua outros "packages".
+% Por favor não inclua outros "packages".
 \begin{document}
 \title{Título da Conferência 1}
 \author{Autor da conferência 1}
@@ -12806,7 +12825,7 @@
 \maketitle
 
 Texto da conferência 1
-% Incluir bibliografia e opcional. Se decidir inclui-la use o formato abaixo
+% Incluir bibliografia é opcional. Se decidir incli-lá, use o formato abaixo
 
 %\begin{thebibliography}{99}
 %\bibitem{key1} Lamport, L. \emph{LaTeX: A Document Preparation System}, Addison-Wesley, \textbf{1986}.
@@ -12819,14 +12838,11 @@
 
 \begin{singlespacing}
 \begin{lstlisting}[caption={ex-d-caderno.tex},label=ex:d:caderno]
-\documentclass[12pt,a5paper,book]{combine}
-% combine supports: memoir, book, report, and article
+\documentclass[12pt,colclass=book]{combine}
+% combine fixa o papel para a4paper
+% combine suportam: memoir, book, report, and article
 
-% If the error ``No room for ..'' occur, increase the reserved insets
-\usepackage{etex} % to use etex extensions 
-\reserveinserts{28} % using etex extensions
-
-% To create table of cotents automatically
+% Para criar o sumário automaticamente
 \usepackage{combinet}
 
 % Todos pacotes usados nos artigos a ser importados
@@ -12835,22 +12851,62 @@
 \usepackage{amsmath}
 \usepackage{amssymb} % it's include amsfonts too
 \usepackage{enumerate}
-\usepackage[english,brazil]{babel}
+%\usepackage[english,brazil]{babel}
+\usepackage[english]{babel}
 
 % packages usados somente no corpo de anais do congresso 
 \usepackage{graphicx}
-
+% geometry pode ser usado, mas não consegue altera o layout antes do \begin{dcocument}
 \usepackage{geometry}
-\geometry{lmargin=2.5cm,rmargin=2cm,tmargin=2cm,bmargin=2cm}
 
-\sloppy % prefer underfull
-% \fussy % prefer overfull
+\usepackage{hyperref}%requer hack para funcionar no combine
 
-% No combine, chamada de \maketitle é obrigatorio.
+% ATENÇÃO: aplicar este código de bug fix somente depois de incluir todos pacotes desejados.
+% correção indicado em
+% from https://tex.stackexchange.com/questions/655984/unable-to-combine-multiple-documents-into-a-single-latex-document
+\makeatletter
+  \let\document\c at ladocument\begingroup%
+\makeatother
+
+\sloppy % prefere underfull
+% \fussy % prefere overfull
+
+% Mudar o nme do sumário
+%\addto\captionsbrazil{\renewcommand{\contentsname}{Sumário\\ (Contents)}}
+\addto\captionsenglish{\renewcommand{\contentsname}{Sumário\\ (Contents)}}
+
+% No combine, chamada de \maketitle é obrigatório.
 % Assim, quando faz a capa manualmente, deverá desabilitar isto
 \makeatletter\c at lmtitlempty\makeatother
 
 \begin{document}
+% início da configuração
+% seleção de idiomas do babel não aplica automaticamente.no combine 
+%\selectlanguage{brazil}
+\selectlanguage{english}
+% bugfix para combinet: adicona 4o. parâmetro na chamada de \contentsline
+% este código deve ficar depois do \begin{document}
+\makeatletter% adjustando o comando de escrita do toc
+  \renewcommand{\c at laaddcontentsline}[3]{%
+    \ifx\@currentHref\@empty
+      \c at laaddtocontents{#1}{\protect\contentsline{#2}{#3}{\thecolpage}{}}
+    \else % para uso de hyperref
+      \phantomsection
+      \c at laaddtocontents{#1}{\protect\contentsline{#2}{#3}{\thecolpage}{\@currentHref}}
+    \fi
+}
+% hyperref (preparation)
+\IfPackageLoadedTF{hyperref}{% require latex nov/2021
+%\AfterBeginDocument{%
+    \Hy at AtBeginDocumentHook{}%
+    \let\Hy at AtBeginDocumentHook\@undefined
+%  }%
+}{}
+\makeatother
+% layout da página usando geometry (não consegue alterar o papel)
+\newgeometry{margin=1.5cm}
+% fim da configuração
+
 % capa
 \begin{titlepage}
 \begin{center}
@@ -12862,12 +12918,12 @@
       % \includegraphics[width=1.16\textwidth]{fundo}
     \end{picture}
   \end{flushleft}
-  {\Large T\'ITULO DO CONGRESSO} \\
+  {\Large TÍTULO DO CONGRESSO} \\
   HOMENAGEM, ETC.
  
   \vfill
   {\huge Resumos de apresentações \\
-  (Abstract of talks and posters)}
+  (Abstract of presentations)}
   \vfill
   DATA
   \vfill
@@ -12896,7 +12952,7 @@
  \begin{flushright}
    \begin{minipage}{0.9\textwidth}
    Realização (Hosted by): \\
-   INSTITUIÇÕOES
+   INSTITUIÇÕES
    \end{minipage}
  \end{flushright}
 
@@ -12906,11 +12962,8 @@
 % Table of contents
 % \pagestyle{combine}
 \pagestyle{plain}
-
 \tableofcontents
 \clearpage
-~ % um espaço para gerar página não vazia
-\newpage % pulando uma página
 
 % Importa artigos de conferências
 % Usar o comando \import em vez de \input ou \include
@@ -12917,16 +12970,17 @@
 \begin{papers}
 \import{conferencia1}
 \import{conferencia2}
-...
+ ...
 \end{papers}
-
 \end{document}
 \end{lstlisting}
 \end{singlespacing}
 
-Note que foi diagramado no papel \texttt{A5} para poder efetuar \texttt{booklet}\index{booklet} (colocar duas páginas em uma, reordenar para grampear no meio) no papel \texttt{A4}. 
-O processo de \texttt{booklet} costuma ser feito no aplicativo como o \texttt{jPDFTWeak} (\url{http://jpdftweak.sourceforge.net/}).
+Note que combine fixa o papel em \texttt{a4paper} e \verb+\newgeometry+ não suporta alteraçao do tamanho de páginas por estar após preâmbulo.
 
+% foi diagramado no papel \texttt{A5} para poder efetuar \texttt{booklet}\index{booklet} (colocar duas páginas em uma, reordenar para grampear no meio) no papel \texttt{A4}. 
+%O processo de \texttt{booklet} costuma ser feito no aplicativo como o \texttt{jPDFTWeak} (\url{http://jpdftweak.sourceforge.net/}).
+
 %caderno de resumos 
 
 \section{Folhetos}
@@ -13840,7 +13894,7 @@
 Converte imagem em texto com fórmula \LaTeX. É serviço online baseado no aplicativo de comando de linha \texttt{pix2tex} disponível em \url{https://github.com/breezedeus/pix2text} que é de código aberto.% que permite converter texto com fórmula de \LaTeX.
 % Para idiomas que não sejam inglês ou chines, use o site \url{https://huggingface.co/spaces/breezedeus/Pix2Text-Demo} (é mais lento). 
 % Para caso de fórmulas escrito a mão, veja o aplicativo \url{https://github.com/vertexi/ImMathWriter}. 
- Note que existem diversos serviços online deste tipo, mas muitos não são baseados nos aplicativos de código aberto, ou nem gratuitos. Um desse serviços gratuito útil é \url{https://webdemo.myscript.com/views/math/index.html} que reconhece a fórmula escrito a mão e cria código \LaTeX{} e MathML.
+ Note que existem diversos serviços online deste tipo, mas muitos não são baseados nos aplicativos de código aberto, ou nem gratuitos. Um desse serviços gratuito útil é \url{https://webdemo.myscript.com/views/math/index.html} que reconhece a fórmula escrito a mão e cria código \LaTeX{} e \texttt{MathML}.
 
 \url{http://www.imagemagick.org/MagickStudio/scripts/MagickStudio.cgi} Serviço de conversão do formato de imagens.
 
@@ -13869,13 +13923,18 @@
 Assim, não foi incluído detalhes sobre caixas e similares.
 Para quem pretende criar comandos e ambientes complexos ou desenvolver pacotes, o conhecimento sobre caixas é importante. 
 Para este assunto, recomendo a leitura de outro material tais como \cite{book:oeticker:2018} e \cite{book:wikibook:latex}.
+Também não foi tratado a camada de programação \LaTeX 3 que tem forma diferente de desenvolver os pacotes em relação a \LaTeX{} tradicional, na qual está presente nos pacotes modernos.
+O interessado em aprender a desenvolver pacotes, deve consultar documentos tais como \url{https://ctan.org/pkg/usrguide}, \url{https://ctan.org/pkg/clsguide} e \url{https://www.alanshawn.com/latex3-tutorial/}, entre outros.
 
 Neste texto, foram apresentados alguns dos pacotes e classes mais utilizados, mas vários pacotes e classes populares foram omitidos.
 
 Por exemplo, quem trabalha com fórmulas complexas, é recomendável que considere o uso do pacote \texttt{mathtools}\index{mathtools} que resolve algumas deficiências do pacote \texttt{amsmath}.
-Para criar ficha catalográfica, é interessante colocar o número total de páginas usando o pacote \texttt{lastpage}\index{lastpage}.
+Para criar ficha catalográfica, poderá colocar o número total de páginas usando o comando \verb+\PreviousTotalPages+\index{PreviousTotalPages@\verb+\PreviousTotalPages+}, mas dependendo do caso, precisará do pacote como o \texttt{pageslts}\index{pageslts}.
+%\texttt{lastpage}\index{lastpage} ou similar.
+% \@abspage at last, \thetotalpages, \PreviousTotalPages já são do kernel do LaTeX. 
+
 Para inserir uma ou mais páginas diretamente no documento em vez de inserir como figuras, usa-se o pacote \texttt{pdfpages}\index{pdfpages}.
-Quem trabalha com tabelas, pode precisar do pacote \texttt{multirow}\index{multirow} para mesclar linhas, \texttt{diagbox}\index{diagbox} para dividir células em diagonal, etc que não foram citados neste documento.
+Quem trabalha com tabelas, pode precisar do pacote \texttt{multirow}\index{multirow} para mesclar linhas, \texttt{diagbox}\index{diagbox} para dividir células em diagonal, etc., que não foram citados neste documento.
 %  tais como \texttt{booktab}\index{booktab}, \texttt{tabulararray}\index{tabulararray}, etc
 %Para elaborar livros: koma script, memoir, tufte-latex, bookest, willowtreebook, octavo, ElegantBook (templates), ycbook, nostarch, simplivre (multilingue), beaulivre (multilingue, colorido)
 Ainda existem pacotes específicos para xadrez (xskak), diagrama química (chemfig), música (abc, musixtex), etc, além dos pacotes destinados para cada tipo de ajustes de documentos.



More information about the tex-live-commits mailing list.