diff options
Diffstat (limited to 'Master/texmf-dist/doc/latex')
19 files changed, 518 insertions, 450 deletions
diff --git a/Master/texmf-dist/doc/latex/abntexto/README b/Master/texmf-dist/doc/latex/abntexto/README index eeaeb92ef60..b8602d81477 100644 --- a/Master/texmf-dist/doc/latex/abntexto/README +++ b/Master/texmf-dist/doc/latex/abntexto/README @@ -1,6 +1,6 @@ Public Domain Software -2024-06-04 -3.1.1-beta +2024-12-25 +3.2.0-beta Elayson Abreu abntexto.classe@gmail.com diff --git a/Master/texmf-dist/doc/latex/abntexto/abntexto.bib b/Master/texmf-dist/doc/latex/abntexto/abntexto.bib index 7110e1db1d2..5a140fc0ee7 100644 --- a/Master/texmf-dist/doc/latex/abntexto/abntexto.bib +++ b/Master/texmf-dist/doc/latex/abntexto/abntexto.bib @@ -22,3 +22,109 @@ url = {https://www.ctan.org/pkg/latex2e-help-texinfo}, urldate = {2022-09-28} } +@book{nbr14724, + author = {{ASSOCIAÇÃO BRASILEIRA DE NORMAS TÉCNICAS}}, + shortauthor = {ABNT}, + title = {NBR 14724}, + subtitle = {Informação e + Documentação --- Trabalhos acadêmicos --- Apresentação.}, + edition = {3}, + location = {Rio de Janeiro}, + publisher = {ABNT}, + date = {2011}, + pages = {15} +} +@book{nbr12225, + author = {{ASSOCIAÇÃO BRASILEIRA DE NORMAS TÉCNICAS}}, + shortauthor = {ABNT}, + title = {NBR 12225}, + subtitle = {Informação e + Documentação --- Lombada --- Apresentação.}, + edition = {2}, + location = {Rio de Janeiro}, + publisher = {ABNT}, + date = {2004}, + pages = {7} +} +@book{nbr6028, + author = {{ASSOCIAÇÃO BRASILEIRA DE NORMAS TÉCNICAS}}, + shortauthor = {ABNT}, + title = {NBR 6028}, + subtitle = {Informação e + Documentação --- Resumo, resenha e recensão --- Apresentação.}, + edition = {2}, + location = {Rio de Janeiro}, + publisher = {ABNT}, + date = {2021}, + pages = {7} +} +@book{nbr6027, + author = {{ASSOCIAÇÃO BRASILEIRA DE NORMAS TÉCNICAS}}, + shortauthor = {ABNT}, + title = {NBR 6027}, + subtitle = {Informação e + Documentação --- Sumário --- Apresentação.}, + edition = {2}, + location = {Rio de Janeiro}, + publisher = {ABNT}, + date = {2012}, + pages = {7} +} +@book{nbr6023, + author = {{ASSOCIAÇÃO BRASILEIRA DE NORMAS TÉCNICAS}}, + shortauthor = {ABNT}, + title = {NBR 6023}, + subtitle = {Informação e + Documentação --- Referências --- Elaboração.}, + edition = {2}, + location = {Rio de Janeiro}, + publisher = {ABNT}, + date = {2018}, + pages = {74} +} +@book{nbr10520, + author = {{ASSOCIAÇÃO BRASILEIRA DE NORMAS TÉCNICAS}}, + shortauthor = {ABNT}, + title = {NBR 10520}, + subtitle = {Informação e + Documentação --- Citações em documentos --- Elaboração.}, + edition = {2}, + location = {Rio de Janeiro}, + publisher = {ABNT}, + date = {2023}, + pages = {23} +} +@book{nbr5892, + author = {{ASSOCIAÇÃO BRASILEIRA DE NORMAS TÉCNICAS}}, + shortauthor = {ABNT}, + title = {NBR 5892}, + subtitle = {Informação e + Documentação --- Representação e formatos de tempo --- Apresentação.}, + edition = {2}, + location = {Rio de Janeiro}, + publisher = {ABNT}, + date = {2019}, + pages = {8} +} +@book{nbr6024, + author = {{ASSOCIAÇÃO BRASILEIRA DE NORMAS TÉCNICAS}}, + shortauthor = {ABNT}, + title = {NBR 6024}, + subtitle = {Informação e + Documentação --- Numeração progressiva das seções de um documento --- Apresentação.}, + edition = {2}, + location = {Rio de Janeiro}, + publisher = {ABNT}, + date = {2012}, + pages = {8} +} +@book{ibge1993, + author = {{Instituto Brasileiro de Geografia e Estatística}}, + shortauthor = {IBGE}, + title = {Normas de apresentação tabular}, + date = {1993}, + location = {Rio de Janeiro}, + publisher = {IBGE}, + pages = {62}, + edition = {3} +}
\ No newline at end of file diff --git a/Master/texmf-dist/doc/latex/abntexto/abntexto.pdf b/Master/texmf-dist/doc/latex/abntexto/abntexto.pdf Binary files differindex c714fcc8d2e..ceac46250dd 100644 --- a/Master/texmf-dist/doc/latex/abntexto/abntexto.pdf +++ b/Master/texmf-dist/doc/latex/abntexto/abntexto.pdf diff --git a/Master/texmf-dist/doc/latex/abntexto/abntexto.tex b/Master/texmf-dist/doc/latex/abntexto/abntexto.tex index a46c613c06a..fc0eed0a045 100644 --- a/Master/texmf-dist/doc/latex/abntexto/abntexto.tex +++ b/Master/texmf-dist/doc/latex/abntexto/abntexto.tex @@ -101,8 +101,8 @@ \clubpenalty=10000 \widowpenalty=10000 -\let\cite=\textcite -\def\bibfont{\bibitemsep=\baselineskip \singlesp} + +\def\bibfont{\raggedright \singlesp \bibitemsep=\baselineskip} \makeatother @@ -121,7 +121,7 @@ \par} \vskip3in -{\centering\large\ttfamily 3.1.1-beta\par} +{\centering\large\ttfamily 3.2.0-beta\par} \newpage \nonum\notoc\section{Sumário} @@ -132,22 +132,22 @@ O |abntexto| é uma classe do \LaTeX\ criada para facilitar a utilização das normas da Associação Brasileira de Normas Técnicas (ABNT) em trabalhos acadêmicos (monografias, dissertações, teses). -Este \emph{não} é um manual sobre LaTeX (ou TeX, a ferramenta que o constitui) nem tampouco uma descrição detalhada sobre as normas ABNT. Para aprender sobre LaTeX leia \cite{viaexemplos} ou \cite{latex2eunnoficial}, disponível também em francês. Além disso, também se pode ler \cite{texbytopic} para aprender sobre o sistema \TeX \footnote{Note que os livros referenciados não foram realmente citados e isso não é aceito na Norma, no entanto este não é um trabalho acadêmico real, mas um manual.}. +Este \emph{não} é um manual sobre LaTeX (ou TeX, a ferramenta que o constitui) nem tampouco uma descrição detalhada sobre as normas ABNT. Para aprender sobre LaTeX leia \textcite{viaexemplos}, em português, ou \textcite{latex2eunnoficial}, disponível em inglês, espanhol e francês. Além disso, também se pode ler \textcite{texbytopic}, em inglês, para aprender sobre o sistema \TeX. Já existe uma classe para aplicação das normas ABNT cujo nome é |abntex2|. Mas, diferente desta, o |abntexto| não depende do |memoir|, uma classe de código-fonte e manual extensos e que implementa funções as quais, em sua maioria, não são pertinentes a um documento que use as diretrizes da ABNT. -As normas ABNT as quais o |abntexto| se propõe a seguir são aquelas em vigor até o momento da criação deste manual. São elas: +As normas ABNT as quais o |abntexto| se propõe a seguir seguem listadas: \begin{topics} - \item NBR 14724-2011 - \item NBR 12225-2004 - \item NBR 6028-2003 - \item NBR 6027-2012 - \item NBR 10520-2002 - \item NBR 6023-2018 - \item NBR 10522-1988 - \item NBR 5892-2019 - \item NBR 6024-2012 + \item NBR 14724:2011. Informação e documentação --- Trabalhos acadêmicos --- Apresentação \cite{nbr14724}. + \item NBR 12225:2004. Informação e documentação --- Lombada --- Apresentação \cite{nbr12225}. + \item NBR 6028:2021. Informação e documentação --- Resumo --- Apresentação \cite{nbr6028}. + \item NBR 6027:2012. Informação e documentação --- Sumário --- Apresentação \cite{nbr6027}. + \item NBR 10520:2002. Informação e documentação --- Citações em documentos --- Apresentação \cite{nbr10520}. + \item NBR 6023:2018. Informação e documentação --- Referências --- Elaboração \cite{nbr6023}. + \item NBR 5892:2019. Informação e documentação --- Representação e formatos de tempo --- Datas e horas --- Apresentação \cite{nbr5892}. + \item NBR 6024:2012. Informação e documentação --- Numeração progressiva das seções de um documento --- Apresentação \cite{nbr6024}. + \item IBGE. Normas de apresentação tabular \cite{ibge1993}. \end{topics} \section{Chamando a classe} @@ -176,7 +176,7 @@ Digite as linhas em \ref{cd:início} e use |abntexto|. \end{document} \endverb -O arquivo |exemplo.tex|, disponível no CTAN, mostra como elaborar os elementos pré-textuais. +O arquivo |exemplo.tex|, disponível no diretório da classe no CTAN, mostra como elaborar os elementos pré-textuais. \section{Fonte tipográfica} @@ -190,7 +190,24 @@ A limitação do comando |\spacing| é que ele só pode ser usado após um selet A folha é A4 por padrão e as margens esquerda e direita são de 3\,cm, 2\,cm para páginas ímpares e de 2\,cm, 3\,cm para páginas pares, respectivamente. Além disso, as margens superior e inferior têm, nessa ordem, 3\,cm, 2\,cm para todo o documento. As margens foram ajustadas com o pacote |geometry|. -Existem dois comandos que configuram o \emph{layout} da página: |\pretextual| que, além de desabilitar o modo |twoside|, remove a numeração de página e é executado automaticamente logo após |\begin{document}| e o comando |\textual| que também é executado automaticamente na primeira chamada de |\section| por meio de |\trytextual|. Dessa forma, a numeração de página será posta no topo da página e as margens passarão a ser espelhadas. +Existem dois comandos que configuram o \emph{layout} da página: |\pretextual| e |\textual|. O primeiro executa |\onesidelayout| internamente e remove a numeração de página. O comando |\onesidelayout| configura as páginas para impressão de somente um lado do papel (frente). O comando |\pretextual| é executado automaticamente após |\begin{document}| tendo efeito a partir da primeira página, portanto o usuário não precisa inserí-lo no documento, mas pode redefiní-lo conforme a necessidade. O segundo comando é |\textual|. Este executa |\twosidelayout| e habilita a numeração de página. A instrução |\twosidelayout| habilita as páginas para impressão dos dois lados do papel (frente e verso). O comando |\twosidelayout| não precisa ser inserido pelo usuário, pois ele é iniciado automaticamente pelo primeiro comando secional. O primeiro comando secional é, por padrão, |\section|, mas pode ser alterado conforme o uso de |\usechapters| e |\useparts| (Ver \ref{secionamento}). + +Os trabalhos acadêmicos podem ser disponiblizados num repositório \emph{online}. Neste caso, o usuário pode querer reconfigurar as margens de forma a se ter uma leitura mais confortável em dispositivos eletrônicos. Para isto, existem duas possibilidades. A primeira é, no preâmbulo, redefinir |\pretextual| e |\textual| substituindo as instruções |\onesidelayout| e |\twosidelayout| por |\eletroniclayout|. A segunda possibilidade é, também no preâmbulo, redefinir |\onesidelayout| e |\twosidelayout| diretamente conforme \ref{cod:eletroniclayout}. O comando |\eletroniclayout| centraliza o corpo do texto pondo 2.5\,cm as margens esquerda e direita. + +\legend{code}{\emph{Layout} para dispositivos eletrônicos} +\src\me +\label{cod:eletroniclayout} + +\begverb +\documentclass{abntexto} + +\let\onesidelayout=\eletroniclayout +\let\twosidelayout=\eletroniclayout + +\begin{document} + texto +\end{document} +\endverb \section{Sumário} @@ -217,6 +234,7 @@ Os comandos que configuram a fonte tipográfica das entradas no ToC (Table of Co \endverb \section{Secionamento} +\label{secionamento} A personalização das macros de seção (|\section|, |\subsection| etc.) é análoga a personalização do sumário e deve ser feita com |\sectionfont|, |\subsectionfont| etc. como exemplificado em \ref{cd:sec}. @@ -245,7 +263,78 @@ Também há como alterar o espaço vertical acima e abaixo das seções usando | O usuário pode querer utilizar capítulos no trabalho. O |abntexto| disponibiliza a instrução |\chapter| para capítulos, porém não em conformidade com a Norma, mas no estilo da classe |book|. Para ativá-los é preciso chamar a instrução |\usechapters| no preâmbulo do documento. Também é possível usar |\part| em conjunto com o comando |\useparts|. Este útlimo contém |\usechapters| em sua definição, portanto, ao chamar |\useparts|, você também estará chamando |\usechapters|. -Os níveis secionais |\section|, |\chapter| e |\part| estão sujeitos a |\nonum| que remove a numeração do título e |\notoc| que instrui o título a não ingressar no sumário. +Os níveis secionais |\section|, |\chapter| e |\part| podem ser prefixados com |\nonum| que remove a numeração do título: |\nonum\section|. O títulos não numerados devem ser centralizados como orientado na Norma, portanto |\nonum| centraliza os títulos. Veja um exemplo de uso em \ref{cd:nonum}. + +\legend{code}{Exemplo de título sem numeração} +\src\me +\label{cd:nonum} + +\begverb +\nonum\notoc\section{Resumo} +Texto + +\nonum\notoc\section{Sumário} +\maketoc +\endverb + +Os níveis secionais supracitados também podem ser prefixados com |\notoc| que instrui o título a não ingressar no sumário: |\notoc\section|. Além disso, é possível usar ambos os prefixos ao mesmo tempo, conforme mostrado em \ref{cd:nonum}. + +O primeiro parágrafo após uma seção é indentado por padrão, dispensando, assim, o uso do pacote |indentfirst|. + +Infelizmente, comandos como |\printbibliography|, |\printglossary| e |\printindex| inserem o título internamente. Para que este título seja exibido corretamente no |abntexto|, é necessário usar o ambiente |corrprint|, como demonstrado em \ref{cd:corrprint}. O título aparecerá normalmente no Sumário e, se o pacote |hyperref| estiver carregado, também vai constar na lista de marcadores do visualizador de PDF. + +\legend{code}{Ambiente {\ttfamily corrprint}} +\src\me +\label{cd:corrprint} + +\begverb +\begin{corrprint} + \printbibliography % ou \printglossary, \printindex e semelhantes +\end{corrprint} +\endverb + +Existe a possibilidade de o usuário desejar criar um Índice Remissivo usando o ambiente |theindex| do kernel LaTeX --- embora alternativas automatizadas sejam preferíveis, como a ferramenta |makeindex|, por exemplo. Neste caso, o ambiente |corrprint| funcionará como esperado conforme explicitado em \ref{cd:corrprint-theindex}. De forma semelhante a |theindex|, |corrprint| também pode ser usado em conjunto com |thebibliography|. + +\legend{code}{Ambientes {\ttfamily corrprint} e {{\ttfamily theindex}}} +\src\me +\label{cd:corrprint-theindex} + +\begverb +\begin{corrprint} + \begin{theindex} + \item acorn squash, 1 + \subitem maple baked, 2 + \indexspace + \item bacon, 3 + \subitem maple baked, 4 + \end{theindex} +\end{corrprint} +\endverb + +%\chapter{Lorem} + +%\begin{corrprint} +% \begin{thebibliography}{9} +% \bibitem{latexdps} +% Leslie Lamport. +% \textit{\LaTeX{}: a document preparation system}. +% Addison-Wesley, Reading, Massachusetts, 1993. +% \bibitem{texbook} +% Donald Ervin Knuth. +% \textit{The \TeX book}. +% Addison-Wesley, Reading, Massachusetts, 1983. +% \end{thebibliography} +%\end{corrprint} + +%\begin{corrprint} +% \begin{theindex} +% \item acorn squash, 1 +% \subitem maple baked, 2 +% \indexspace +% \item bacon, 3 +% \subitem maple baked, 4 +% \end{theindex} +%\end{corrprint} \section{Alíneas} @@ -268,7 +357,7 @@ Use o ambiente |topics| para criar alíneas. Ele dispõe de dois níveis sendo q \section{Áreas de legenda} -Use |\place{<obj>}| para inserir áreas de legenda como mostrado em \ref{cd:place}. Mas existem condições: |\place| deve constar em último lugar e |\legend{<tipo de obj>}{<legenda>}| deve preceder |\label|. Além disso, existe a possibilidade de alterar o espaço vertical acima e abaixo de uma área de legenda com |\def\aboveplace{<valor>}| e |\def\belowplace{<valor>}|. +Use |\place{<obj>}| para inserir áreas de legenda, |\legend{<tipo de obj>}{<texto>}| para títular e |\src{<texto>}| para inserir a fonte como mostrado em \ref{cd:place}. Mas, existem condições: |\place| deve constar em último lugar e |\legend| deve preceder |\label|. Além disso, existe a possibilidade de alterar o espaço vertical acima e abaixo de uma área de legenda com |\def\aboveplace{<valor>}| e |\def\belowplace{<valor>}|. \legend{code}{Áreas de legenda} \src\me \label{cd:place} @@ -277,8 +366,9 @@ Use |\place{<obj>}| para inserir áreas de legenda como mostrado em \ref{cd:plac \legend{figure}{Um título} \src{\texttt{www.site.com.br}. Acesso em 01 jan. 2020.} \label{fig:teste} + \place{\includegraphics[width=0.4\linewidth]{example-image}} - + Ver \ref{fig:teste}. \end{document} \endverb @@ -287,12 +377,11 @@ O leitor pode querer definir uma nova área de legenda usando, por exemplo, a in O |abntexto| também tem suporte nativo para inserção de figuras lado a lado. Elas se comportam como caracteres então podemos usar |\hfil| para centralizá-las. Veja o exemplo no \ref{cd:multiple} e o resultado logo em seguida. -Até o momento, a classe não tem suporte para objetos flutuantes. - \legend{code}{Figuras lado a lado} \src\me \label{cd:multiple} \begverb \legend{figure}{Duas figuras} + \begin{multiplace} \sublegend{figure}{Um título} \src{\texttt{www.site.com.br}. Acesso em 01 jan. 2020.} @@ -308,6 +397,7 @@ Até o momento, a classe não tem suporte para objetos flutuantes. \endverb \legend{figure}{Duas figuras} + \begin{multiplace} \sublegend{figure}{Um título} \src{\texttt{www.site.com.br}. Acesso em 01 jan. 2020.} @@ -321,6 +411,12 @@ Até o momento, a classe não tem suporte para objetos flutuantes. Ver \ref{fig:teste1} e \ref{fig:teste2}. +Há uma legenda principal impressa com |\legend| e duas sublegendas para cada objeto inseridas com |\sublegend|, bem como dois |\subplace's|. Além disso, a ordem das instruções é similar àquela aplicada em |\place|: |\subplace| deve ser posto após |\sublegend|, |\src| e |\label| sendo que |\sublegend| deve preceder |\label|. + +Linhas em branco são proibidas no ambiente |multiplace|. + +Até o momento, esta classe não tem suporte para objetos flutuantes. + \section{Formatação de {\mdseries\ttfamily\textbackslash\lowercase{cite}} e referências} \label{section} @@ -328,9 +424,9 @@ Até o momento o |abntexto| não possui macros para formatação de |\cite| e re \section{Citações} -Para inserir aspas em citações diretas use |\enquote{texto}\cite{<key>}|. Mas, se tratando de citações diretas com mais de três linhas, alterne para |\Enquote{texto \cite{<key>}}|. +Pela Norma ABNT, Para inserir aspas duplas em citações diretas, de até três linhas, use |\enquote{<texto>}\cite{<key>}|. Mas, se tratando de citações diretas, com mais de três linhas, alterne para |\Enquote{<texto> \cite{<key>}}|. -\section{Apêndice e anexo} +\section{Apêndice e Anexo} Com os comandos |\appendix| e |\annex| você pode inserir apêndices e anexos junto dos indicativos desejados: “Apêndice 1 --- \dots” ou “Anexo 1 --- \dots” (ver \ref{cd:appendix}). @@ -346,11 +442,21 @@ Com os comandos |\appendix| e |\annex| você pode inserir apêndices e anexos ju \end{document} \endverb -Pode-se alterar a largura dos rótulos das entradas de apêndice/anexo no sumário redefinindo |\appendixlabelwidth|\,/\,|\annexlabelwidth|. +Pode-se alterar a largura dos rótulos das entradas no sumário redefinindo o comando |\appendixlabelwidth|\,/\,|\annexlabelwidth|. + +\section{Limitações e planos para o futuro} + +\begin{topics} + \item No momento não existe suporte para tabelas que se partem entre páginas usando |longtable.sty|. + \item O suporte para objetos flutuantes pode ser implementado, mas não é prioridade, porque não são compatíveis com a Norma. + \item \emph{Hyperlinks} de |\labels's| oriundos de áreas de legenda podem não estar funcionando corretamente. + \item Implementar subitens em listas de figuras e tabelas. + \item Implementar notas gerais e específicas em tabelas. +\end{topics} \newpage -\begin{corrprint}{Referências} +\begin{corrprint} \printbibliography \end{corrprint} @@ -360,6 +466,7 @@ Você pode criar glossários com o pacote |glossaries|, como em \ref{cd:gloss}. \legend{code}{Glossário} \src\me \label{cd:gloss} + \begverb \documentclass{abntexto} @@ -374,8 +481,8 @@ Você pode criar glossários com o pacote |glossaries|, como em \ref{cd:gloss}. \begin{document} O \gls{metalism} e o \gls{lip}. - - \begin{corrprint}{Glossário} + + \begin{corrprint} \printnoidxglossary \end{corrprint} \end{document} @@ -404,7 +511,7 @@ O |glossaries.sty| também serve para criar uma lista de siglas, conforme \ref{c 2ª chamada: \acr{ibge}, \acr{html}. - \begin{corrprint}{Lista de siglas} + \begin{corrprint} \def\acronymname{Lista de siglas} \printnoidxglossary[type=acronym] \end{corrprint} diff --git a/Master/texmf-dist/doc/latex/abntexto/exemplo.bib b/Master/texmf-dist/doc/latex/abntexto/exemplo.bib new file mode 100644 index 00000000000..6fe00ddc690 --- /dev/null +++ b/Master/texmf-dist/doc/latex/abntexto/exemplo.bib @@ -0,0 +1,20 @@ +@thesis{ferrigno2011, + author = {C. R. A. Ferrigno}, + title = {Tratamento de neoplasias ósseas apendiculares com reimplantação de enxerto ósseo autólogo autoclavado associado ao plasma rico em plaquetas}, + subtitle = {estudo crítico na cirurgia de preservação de membro em cães}, + pages = {128}, + type = {Tese (Livre-Docência)}, + institution = {Faculdade de Medicina Veterinária e Zootecnia, Universidade de São Paulo}, + location = {São Paulo}, + date = {2011} +} +@book{ibge1993, + author = {{Instituto Brasileiro de Geografia e Estatística}}, + shortauthor = {IBGE}, + title = {Normas de apresentação tabular}, + date = {1993}, + location = {Rio de Janeiro}, + publisher = {IBGE}, + pages = {62}, + edition = {3} +}
\ No newline at end of file diff --git a/Master/texmf-dist/doc/latex/abntexto/exemplo.pdf b/Master/texmf-dist/doc/latex/abntexto/exemplo.pdf Binary files differindex b2728cc9c7b..2499bba8a91 100644 --- a/Master/texmf-dist/doc/latex/abntexto/exemplo.pdf +++ b/Master/texmf-dist/doc/latex/abntexto/exemplo.pdf diff --git a/Master/texmf-dist/doc/latex/abntexto/exemplo.tex b/Master/texmf-dist/doc/latex/abntexto/exemplo.tex index 22bd4643fe4..99c041d1936 100644 --- a/Master/texmf-dist/doc/latex/abntexto/exemplo.tex +++ b/Master/texmf-dist/doc/latex/abntexto/exemplo.tex @@ -4,7 +4,8 @@ \usepackage{lipsum} \def\lip{\lipsum[1][1-2]}\def\lipp{\lipsum[1][-6]} \usepackage{fontspec} -\usepackage[style=abnt]{biblatex} \addbibresource{mybib.bib} +\usepackage[brazil]{babel} +\usepackage[style=abnt]{biblatex} \addbibresource{exemplo.bib} \usepackage[colorlinks]{hyperref} \setmainfont{TeX Gyre Termes} @@ -27,6 +28,11 @@ \def \Advisor{Nome} \def \Coadvisor{Nome} +\def\lotifont{} +\def\lofifont{} + +\def\bibfont{\raggedright \singlesp \bibitemsep=\baselineskip} + \begin{document} @@ -35,37 +41,29 @@ \def\Right{\noindent\hfill} \def\twonewpage{\newpage\leavevmode\newpage} -% CONSELHO ------------ -% Você pode preferir usar -% \Center \begin{minipage}{.7\linewidth} -% Lorem ipsum -% \end{minipage} -% Ao invés de -% \Center \vbox{\hsize=.7\hsize -% Lorem ipsum -% } -% É essencialmente a mesma coisa. A diferença é -% que a 1ª forma é uma sintaxe mais familiar ao -% LaTeX. Mas eu prefiro a simples sintaxe TeX. -% É questão de gosto pessoal. - % CAPA % ================================================ \leavevmode\Enter[2] -\Center\vbox{\hsize=.7\hsize \centering +\Center +\begin{minipage}{.7\linewidth} + \onehalfsp + \centering \includegraphics[height=4\baselineskip]{example-image}\\ \University -} +\end{minipage} \Enter[9] \Center\Author \Enter[3] -\Center\vbox{\hsize=.7\hsize \centering +\Center +\begin{minipage}{.7\linewidth} + \onehalfsp + \centering \Title -} +\end{minipage} \vfill \Center\City % A próxima linha em branco é necessária. @@ -82,17 +80,22 @@ \Center\Author \Enter[5] -\Center\vbox{\hsize=.7\hsize \centering +\Center +\begin{minipage}{.7\linewidth} + \onehalfsp + \centering \Title -} +\end{minipage} \Enter[2] -\Right\vbox{\hsize=.5\hsize +\Right +\begin{minipage}{.5\linewidth} + \singlesp \WorkDesc\Enter Área de concentração: \Class.\\ Orientador: \Advisor.\\ Coorientador: \Coadvisor. -} +\end{minipage} \vfill \Center\City @@ -139,19 +142,20 @@ % ERRATA (OPCIONAL) % ================================================ -\heading{Errata} +\nonum\notoc\section{Errata} + +\begingroup \bibfont + \fullcite{ferrigno2011}. +\par\endgroup % Este \par é necessário. -\singlesp -FERRIGNO, C. R. A. \textbf{Tratamento de neoplasias ósseas apendiculares com reimplantação de enxerto ósseo autólogo autoclavado associado ao plasma rico em plaquetas}: estudo crítico na cirurgia de preservação de membro em cães. 2011. 128 f. Tese (Livre-Docência) --- Faculdade de Medicina Veterinária e Zootecnia, Universidade de São Paulo, São Paulo, 2011. -\onehalfsp \Enter \Center -\begin{table}{cccc} +\begin{tabular}{cccc} \hline \bfseries Folha & \bfseries Linha & \bfseries Onde se lê & \bfseries Leia-se \\ \hline 16 & 10 & auto-clavado & autoclavado \\ \hline -\end{table} +\end{tabular} \twonewpage @@ -163,15 +167,20 @@ FERRIGNO, C. R. A. \textbf{Tratamento de neoplasias ósseas apendiculares com re \Center\Author \Enter[5] -\Center\vbox{\hsize=.7\hsize \centering +\Center +\begin{minipage}{.7\linewidth} + \onehalfsp + \centering \Title -} +\end{minipage} \Enter[2] -\Right\vbox{\hsize=.5\hsize +\Right +\begin{minipage}{.5\linewidth} + \singlesp \WorkDesc\Enter Área de concentração: \Class. -} +\end{minipage} \Enter {\raggedright \parindent=1.5cm @@ -199,57 +208,71 @@ FERRIGNO, C. R. A. \textbf{Tratamento de neoplasias ósseas apendiculares com re % ================================================ \leavevmode\vfil -\Center \vbox{\hsize=5cm \itshape Dedico este trabalho a\dots} + +\Center +\begin{minipage}{5cm} + \onehalfsp + \itshape Dedico este trabalho a\dots +\end{minipage} + \twonewpage % AGRADECIMENTOS (OPCIONAL) % ================================================ \parindent=1.5cm -\heading{Agradecimentos} + +\nonum\notoc\section{Agradecimentos} \lipp + \twonewpage % EPÍGRAFE (OPCIONAL) % ================================================ \leavevmode\vfil -\Right\vbox{\hsize=3cm - \noindent {\itshape Epígrafe}\break + +\Right +\begin{minipage}{3cm} + \onehalfsp + \noindent {\itshape Epígrafe}\linebreak Autor (ano) -} +\end{minipage} + \twonewpage % RESUMO % ================================================ -\heading{Resumo} +\nonum\notoc\section{Resumo} \lipp\ \lipp Palavras-chave: Palavra-chave A. Palavra-chave B. Palavra-chave C. + \twonewpage % RESUMO EM LÍNGUA ESTRANGEIRA % ================================================ -\heading{Abstract} +\nonum\notoc\section{Abstract} \lipp\ \lipp Keywords: Keyword A. Keyword B. Keyword C. + \twonewpage % LISTA DE FIGURAS (OPCIONAL), TABELAS (OPCIONAL), SUMÁRIO % ================================================ -\heading{Lista de figuras} +\nonum\notoc\section{Lista de figuras} \makelof \twonewpage -\heading{Lista de tabelas} +\nonum\notoc\section{Lista de tabelas} \makelot \twonewpage -\heading{Sumário} +\nonum\notoc\section{Sumário} \maketoc @@ -257,33 +280,37 @@ Keywords: Keyword A. Keyword B. Keyword C. \lipp -\legend{table}{\lip} -\src{o autor.} +\legend{table}{Pessoas residentes em domicílios particulares, por sexo e situação do domicílio. Brasil, 1980.} +\src{\textcite{ibge1993}.} \label{tab} + \place{ - \begin{table}{*3{c@{\quad}} c} \hline + \begin{tabular}{*3{c@{\quad}} c} \hline Situação do domicílio & Total & Mulheres & Homens \\ \hline Total & 117\,960\,301 & 59\,595\,332 & 58\,364\,969 \\ Urbana & 79\,972\,931 & 41\,115\,439 & 38\,857\,492 \\ Rural & 37\,987\,370 & 18\,479\,893 & 19\,507\,477 \\ \hline - \end{table} + \end{tabular} } -\legend{figure}{\lip} +\legend{figure}{Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Ut purus elit, vestibulum ut, placerat ac, adipiscing vitae, felis.} \src{o autor.} -\label{fig} +\label{fig1} + \place{\includegraphics[width=.4\linewidth]{example-image}} -\legend{figure}{\lip} +\legend{figure}{Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Ut purus elit, vestibulum ut, placerat ac, adipiscing vitae, felis.} \src{\lip} \label{fig2} + \place{\includegraphics[width=.4\linewidth]{example-image}} -Ver \ref{tab}, \ref{fig}, \ref{fig2}. +Ver \ref{tab}, \ref{fig1}, \ref{fig2}. \section{Citações} \enquote{\lip} \cite{bibkey}. + \Enquote{\lipp\ \cite{bibkey}} \section{Alíneas} @@ -300,21 +327,10 @@ Ver \ref{tab}, \ref{fig}, \ref{fig2}. \item \lip \end{topics} -%\newpage -% -%\begin{corrprint}{Referências} -% \printbibliography -%\end{corrprint} - -\end{document} - - - - - - - - +\newpage +\begin{corrprint} + \printbibliography +\end{corrprint} -% Concebido em 07 de julho de 2022 +\end{document}
\ No newline at end of file diff --git a/Master/texmf-dist/doc/latex/easybook/README.md b/Master/texmf-dist/doc/latex/easybook/README.md index beb6e232856..99d5ce00275 100644 --- a/Master/texmf-dist/doc/latex/easybook/README.md +++ b/Master/texmf-dist/doc/latex/easybook/README.md @@ -1,5 +1,5 @@ # The `easybook` document class -Easily typesetting Chinese theses or books (v2024end) +Easily typesetting Chinese theses or books (v2024last) ## Abstract `easybook` is a pure academic template created based on the `ctexbook` book document class. It also has the functions of `book` and `article` document class. Combined with the general framework design of the theses of many universities in China, providing multiple commands and interfaces allows users to easily customize the theses templates. Its basic macro package `easybase` can also be used with `ctex` and standard document classes. diff --git a/Master/texmf-dist/doc/latex/easybook/easybook.pdf b/Master/texmf-dist/doc/latex/easybook/easybook.pdf Binary files differindex 4b652ea6f55..d01c29326bf 100644 --- a/Master/texmf-dist/doc/latex/easybook/easybook.pdf +++ b/Master/texmf-dist/doc/latex/easybook/easybook.pdf diff --git a/Master/texmf-dist/doc/latex/easybook/easybook.tex b/Master/texmf-dist/doc/latex/easybook/easybook.tex index acea65ec7a0..9f24c346a91 100644 --- a/Master/texmf-dist/doc/latex/easybook/easybook.tex +++ b/Master/texmf-dist/doc/latex/easybook/easybook.tex @@ -23,8 +23,8 @@ name = easybook, color-scheme = blue, title = EASYBOOK使用手册, - version = v2024end, - date = 2024/12/25, + version = v2024last, + date = 2024/12/26, authors = 瞿毅, info = 简便地排版中文学位论文或书籍, email = toquyi@163.com, @@ -768,13 +768,13 @@ $\blacktriangleright$需要注意正确\textbf{编译索引}要增加 \code{-she \begin{cnltxlist}[itemsep = 0ex] \command{fancyhead}[\oarg{位置}\marg{内容}]\nonl \command{fancyfoot}[\oarg{位置}\marg{内容}] - 为了确保页面显示正确,使用 \cs{fancyhead} 和 \cs{fancyfoot} 等命令设置页眉页脚时需要在页边距的命令之后。默认设置的是一个名为 \code{fancy} 的页面风格。\pkg*{fancyhdr} 将页眉页脚分成了左中右和奇数页(odd)、偶数页(even)共12个部分,可选参数中 \code{E} 和 \code{O} 代表偶数和奇数,\code{L}、\code{C} 和 \code{R} 代表左、中和右部分。单面排版时,含有偶数位置的命令无效。 + 为了确保页面显示正确,使用 \cs{fancyhead} 和 \cs{fancyfoot} 等命令设置页眉页脚时需要在页边距的命令之后。默认设置的是一个名为 \code{fancy} 的页面风格。\pkg*{fancyhdr} 将页眉页脚分成了左中右和奇数页(odd)、偶数页(even)共12个部分,可选参数中 \code{E} 和 \code{O} 代表偶数和奇数,\code{L}、\code{C} 和 \code{R} 代表左、中和右部分。单面排版时,可选参数含有偶数位置的命令无效。 \end{cnltxlist} \begin{cnltxlist}[itemsep = 0ex] \command{markboth}[\marg{左页标题标记}\marg{右页标题标记}]\nonl \command{markright}[\marg{右页标题标记}]\nonl \command{markdouble}[\marg{双页标题标记}] - 这三个命令用于手动设置当前页标题标记,特殊情况下可以使用它们定义与标题不同的页眉页脚标记。其中 \cs{markdouble} 根据是否是双面排版设置相应标记。如果是单面排版,则 \meta{右页标题标记} 无效。标题标记选项 \meta{级别}\option*{-mark} 定义的是它们的参数,左右页标记规则已经进行了优化调整,若需更改可以重定义 \code{\textbackslash}\meta{级别}\cstext{mark} 命令。 + 这三个命令用于手动设置当前页标题标记,特殊情况下可以使用它们定义与标题不同的页眉页脚标记。其中 \cs{markdouble} 根据是否是双面排版设置相应标记,如果是单面排版,则 \meta{右页标题标记} 为空。标题标记选项 \meta{级别}\option*{-mark} 定义的是它们的参数,左右页标记规则已经进行了优化调整,若需更改可以重定义 \code{\textbackslash}\meta{级别}\cstext{mark} 命令。 \begin{ctexexam} \makeatletter \renewcommand{\sectionmark}[1]{\markright{\eb@mark@section@whole{#1}}} diff --git a/Master/texmf-dist/doc/latex/expkv-bundle/README.md b/Master/texmf-dist/doc/latex/expkv-bundle/README.md index 8d484d62d4e..f36dd3203d0 100644 --- a/Master/texmf-dist/doc/latex/expkv-bundle/README.md +++ b/Master/texmf-dist/doc/latex/expkv-bundle/README.md @@ -1,7 +1,7 @@ ------------------------------------------------------------------------------- # `expkv-bundle` -- an expandable key=value implementation and more -Version 2023-01-23 +Version 2024-12-26 Released under the LaTeX Project Public License v1.3c or later See http://www.latex-project.org/lppl.txt @@ -10,7 +10,7 @@ Hosted on the Island of TeX at https://gitlab.com/islandoftex/texmf/expkv-bundle ------------------------------------------------------------------------------- -Copyright (C) 2020-2023 Jonathan P. Spratte +Copyright (C) 2020-2024 Jonathan P. Spratte This work may be distributed and/or modified under the conditions of the LaTeX Project Public License (LPPL), either version 1.3c of this license or (at your diff --git a/Master/texmf-dist/doc/latex/expkv-bundle/expkv-bundle.pdf b/Master/texmf-dist/doc/latex/expkv-bundle/expkv-bundle.pdf Binary files differindex 1d7023208a8..808dab5b694 100644 --- a/Master/texmf-dist/doc/latex/expkv-bundle/expkv-bundle.pdf +++ b/Master/texmf-dist/doc/latex/expkv-bundle/expkv-bundle.pdf diff --git a/Master/texmf-dist/doc/latex/expkv-bundle/expkv-bundle.tex b/Master/texmf-dist/doc/latex/expkv-bundle/expkv-bundle.tex index f8110ea36a1..2860be24ea0 100644 --- a/Master/texmf-dist/doc/latex/expkv-bundle/expkv-bundle.tex +++ b/Master/texmf-dist/doc/latex/expkv-bundle/expkv-bundle.tex @@ -51,6 +51,10 @@ \let\metaORIG\meta \protected\def\meta #1{\texttt{\metaORIG{#1}}} +\let\margORIG\marg +\protected\def\marg #1{\texttt{\margORIG{#1}}} +\let\oargORIG\oarg +\protected\def\oarg #1{\texttt{\oargORIG{#1}}} \input{preamble-examples.tex} \input{preamble-logos.tex} @@ -286,7 +290,7 @@ suggestions and additions to this documentation.% }% } -\date{2023-01-23} +\date{2024-12-26} \begingroup \renewcommand*\thefootnote{\fnsymbol{footnote}} \maketitle diff --git a/Master/texmf-dist/doc/latex/expkv-bundle/pkg-cs.tex b/Master/texmf-dist/doc/latex/expkv-bundle/pkg-cs.tex index 850b9af6205..d1806e625a8 100644 --- a/Master/texmf-dist/doc/latex/expkv-bundle/pkg-cs.tex +++ b/Master/texmf-dist/doc/latex/expkv-bundle/pkg-cs.tex @@ -380,19 +380,21 @@ key is a primary or secondary key (unless explicitly stated otherwise). \begin{function}[module=expkv-cs type]{enum} \begin{syntax} - enum \key\ = \marg{key_2}\kvarg \prefixes2 + enum \key\ = \marg{key_2}\{\val, \ldots\} \prefixes2 \end{syntax} This defines \key\ to only accept the values given in the list of the second argument of its definition. It forwards the position of \val\ in that list to - \meta{key_2} (zero-based). The \meta{key_2} has to already be defined by the - time an |enum| key is set up. Each \val\ in the list (and at use time) is - |\detokenize|d, so no expansion takes place here. + \meta{key_2} (zero-based) as a string of digits (so as |0|, |1|, \ldots). The + \meta{key_2} has to already be defined by the time an |enum| key is set up. + Each \val\ in the list (and at use time) is |\detokenize|d, so no expansion + takes place here. If you use |enum| twice on the same \key\ the new values will again start at zero (so it is possible to define multiple values with the same outcome), however since you can't skip values you'll have to use the same as in the - first call for values with just a single variant. There is no interface to - delete existing values. + first call for values with just a single variant (or use the |choice| \type\ + as an |enum| is just a specialised |choice| and the two use the same internal + structure). There is no interface to delete existing values. \end{function} \begin{example}{Enumerating choices with the \texttt{enum} \type} First a small example that might give you an idea of what the description @@ -431,9 +433,10 @@ key is a primary or secondary key (unless explicitly stated otherwise). \end{syntax} This is pretty similar to an |enum|, but unlike with |enum| the forwarded \val\ will not be numeric, instead the \val\ as given during the definition - time will be forwarded. This means that while the user input has to match in a + time will be forwarded (inside the \kv\ list argument if you omit \val\ the + same as the \key\ will be used). While the user input has to match in a |\detokenize|d form, the \val\ might still expand further during your macro's - expansion (if what you provided as a choice is expandable). + expansion. \end{function} \begin{example}{Filtering possible values with the \texttt{choice} \type} We could use this to filter out the possible vertical placements of a \LaTeXe\ @@ -452,6 +455,23 @@ key is a primary or secondary key (unless explicitly stated otherwise). \foo{} \foo{v=t} \foo{v=c} \foo{v=b} \end{enverb} \end{example} +\begin{example}{Setting up a Boolean key with the \texttt{choice} \type} + We could also set up a Boolean key with a |choice| key by forwarding + |\@firstoftwo| or |\@secondoftwo|: + \begin{enverb} + \makeatletter + \ekvcSplit\foo{bool-internal=\@secondoftwo} + {bool was #1{true}{false}.\par} + \ekvcSecondaryKeys\foo + { + choice bool = {bool-internal} + {true=\@firstoftwo, false=\@secondoftwo} + ,nmeta bool = {bool-internal=\@firstoftwo} + } + \foo{}\foo{bool}\foo{bool=false}\foo{bool=true} + \makeatother + \end{enverb} +\end{example} \begin{function}[module=expkv-cs type]{aggregate,e-aggregate} \begin{syntax} diff --git a/Master/texmf-dist/doc/latex/expkv-bundle/pkg-def.tex b/Master/texmf-dist/doc/latex/expkv-bundle/pkg-def.tex index fade98e8b8f..5a682b73bc4 100644 --- a/Master/texmf-dist/doc/latex/expkv-bundle/pkg-def.tex +++ b/Master/texmf-dist/doc/latex/expkv-bundle/pkg-def.tex @@ -320,7 +320,7 @@ showing line. expand to the second argument (so behave like |\@secondoftwo|). The idea is that with this type you can define a key which should be typeset formatted. The |edata| and |xdata| variants will fully expand \val, the |gdata| and - |xdata| variants will store \val\ inside \meta{cs} globally. Juts like with + |xdata| variants will store \val\ inside \meta{cs} globally. Just like with |store| you can use macro parameters without having to double them. The \prefixes\ only affect the key-macro, \meta{cs} will always be expandable and |\long|. @@ -462,6 +462,18 @@ showing line. the \kv\ list inside of \meta{set} and defines a \Nkey\ with a static list. \end{function} +\begin{function}[module=expkv-def type]{alias} + \begin{syntax} + alias \key\ = \meta{key_2} \prefixes2333 + \end{syntax} + Copy the definition of \meta{key_2} to \key. \key\ will inherit being |long| + or |protected| from \meta{key_2} as well. If a \Vkey\ named \meta{key_2} + exists its definition is copied, and if an accordingly named \Nkey\ exists its + definition is copied to the new name as well. At least one of the two keys + must exist or else this throws an error. If \meta{key_2} is later redefined + the definition of \key\ will stay the same. +\end{function} + \begin{function}[module=expkv-def type]{set} \begin{syntax} set \key\ = \marg{set} \prefixes2233 @@ -608,6 +620,37 @@ showing line. \end{enverb} \end{example} +\begin{function}[module=expkv-def type]{choice-aliases} + \begin{syntax} + choice-aliases \key\ = \{\meta{new}=\meta{old}, \ldots\} \prefixes2333 + \end{syntax} + Copy the definition of the choice \meta{old} of \key\ to a \meta{new} choice + for the same \key. The \key\ must be an existing |choice| key. Inside the + \meta{new}=\meta{old} list all elements must get a value. If used the + |new|-prefix will apply to each individual \meta{new} choice name (so if any + already exists it'll throw an error, and the current element will be ignored). + The \meta{new} choice will inherit being |protected| from the \meta{old} one. + The \meta{old} choice must be defined obviously. + + This works for a |choice| or |bool| \type\ as well as all their variants. If + something redefines some of the choices later on the aliases will keep the + original definition. +\end{function} +\begin{example} + {Create shortcuts for choices using the \texttt{choice-aliases} \type} + With the following we create a key that accepts some choices, and since our + keyboard is only designed to handle a finite number of keystrokes we also + allow for shorter names of those choices. (This is not part of the ongoing + example using the |example| set above.) + \begin{enverb}[no-store,no-tcb] + \ekvdefinekeys{choice-alias-example} + { + choice-store key = { long-name, short-name } + ,choice-aliases key = { ln = long-name, sn = short-name } + } + \end{enverb} +\end{example} + \begin{function}[module=expkv-def type]{unknown code} \begin{syntax} unknown code = \marg{definition} \prefixes2322 @@ -668,25 +711,28 @@ argument order without any performance hit if you compare this to \end{function} \bigskip -Time to use all those keys defined in the different examples! +Time to use all those keys defined in the different examples as part of the +|example| set! % undo the global no-tcb setting \ekvset{enverb}{no-store,undo-no-tcb}% \begin{enverb}[restore,below,inter=Which results in three paragraphs of text:] \newcommand\defexample[1][] {% - \ekvset{example}{#1}% - After walking \the\exampledistance\space we finally reached - \examplebar{\emph}{no particular place}. - There I ordered - \iffoo - a drink called \examplefoostore\space (that has - \the\examplefoocount\space tokens in it)% - \else - nothing of particular interest% - \fi - \examplebaz{ and ate \emph}. - Then a friend of mine also chose \exampledrink. - \par + \begingroup % keep the values set local to this call + \ekvset{example}{#1}% + After walking \the\exampledistance\space we finally reached + \examplebar{\emph}{no particular place}. + There I ordered + \iffoo + a drink called \examplefoostore\space (that has + \the\examplefoocount\space tokens in it)% + \else + nothing of particular interest% + \fi + \examplebaz{ and ate \emph}. + Then a friend of mine also chose \exampledrink. + \par + \endgroup } \defexample[nofoo] \defexample[all,choose=lemonade] diff --git a/Master/texmf-dist/doc/latex/expkv-bundle/pkg-main.tex b/Master/texmf-dist/doc/latex/expkv-bundle/pkg-main.tex index 0109eb70dae..b9b90eb6685 100644 --- a/Master/texmf-dist/doc/latex/expkv-bundle/pkg-main.tex +++ b/Master/texmf-dist/doc/latex/expkv-bundle/pkg-main.tex @@ -928,10 +928,10 @@ breaks is not possible. \cs{ekv@name@set}\marg{set} \cs{ekv@name@key}\marg{key} \end{syntax} - The names of the macros storing the code of \Vkey{}s are stored in are built - with these macros. The name is built from two blocks, one that is formatting - the \set\ name, and on for formatting the \key\ name. To get the actual name - the argument to \cs{ekv@name@key} must be |\detokenize|d. Both blocks are put + The names of the macros storing the code of \Vkey{}s are built with these + macros. The name is built from two blocks, one that is formatting the \set\ + name, and on for formatting the \key\ name. To get the actual name the + argument to \cs{ekv@name@key} must be |\detokenize|d. Both blocks are put together (with the necessary |\detokenize|) by \cs{ekv@name}. For \Nkey{}s an additional |N| gets appended, so their name is \cs{ekv@name}\marg{set}\marg{key}|N|. diff --git a/Master/texmf-dist/doc/latex/expkv-bundle/preamble-enverb.tex b/Master/texmf-dist/doc/latex/expkv-bundle/preamble-enverb.tex index 22f39cd31cc..b81d9b99788 100644 --- a/Master/texmf-dist/doc/latex/expkv-bundle/preamble-enverb.tex +++ b/Master/texmf-dist/doc/latex/expkv-bundle/preamble-enverb.tex @@ -1,348 +1,97 @@ -\RequirePackage{expkv-def} +\RequirePackage{expkv-def,enverb} -\ExplSyntaxOn -\cs_new_eq:NN \enverb@count \tl_count:n -\cs_set:Npx \enverb@othercr { \char_generate:nn {13} {12} } -\ExplSyntaxOff %% key setup -\ekvdefinekeys{enverb} +\enverbsetup{key-set=expkv/enverb} +\ekvdefinekeys{expkv/enverb} { - boolTF auto-ignore = \enverb@ifautoignore - ,initial auto-ignore - ,protected code ignore = \let\enverb@ifautoignore\@secondoftwo - ,eint more-ignore = \enverb@moreignore - ,initial more-ignore = 2 - ,also eint ignore = \enverb@ignore - ,boolTF same-line = \enverb@ifsameline + ,boolTF same-line = \ekvdoc@enverb@ifsameline ,unknown-choice same-line = - \let\enverb@ifsameline\@firstoftwo\edef\enverb@codeshare{\unexpanded{#1}} + \let\ekvdoc@enverb@ifsameline\@firstoftwo\edef\ekvdoc@enverb@codeshare{\unexpanded{#1}} ,initial same-line = 0.75 - ,invboolTF other-line = \enverb@ifsameline + ,invboolTF other-line = \ekvdoc@enverb@ifsameline ,nmeta below = {same-line=false, no-aboveskip, no-belowskip} ,nmeta undo-below = {same-line=true, aboveskip, belowskip} - ,store same-line-lst = \enverb@options@lst@same - ,store same-line-tcb = \enverb@options@tcb@same + ,store same-line-lst = \ekvdoc@enverb@options@lst@same + ,store same-line-tcb = \ekvdoc@enverb@options@tcb@same ,initial same-line-lst = {aboveskip=0pt,belowskip=0pt} ,initial same-line-tcb = {nobeforeafter,box align=center} - ,store other-line-lst = \enverb@options@lst@other - ,store other-line-tcb = \enverb@options@tcb@other + ,store other-line-lst = \ekvdoc@enverb@options@lst@other + ,store other-line-tcb = \ekvdoc@enverb@options@tcb@other ,meta slst = same-line-lst={#1} ,meta stcb = same-line-tcb={#1} ,meta olst = other-line-lst={#1} ,meta otcb = other-line-tcb={#1} - ,store lst = \enverb@options@lst - ,store tcb = \enverb@options@tcb - ,long store bol = \enverb@bol@content - ,long store eol = \enverb@eol@content - ,einitial eol = \enverb@othercr - ,boolTF no-lst = \enverb@ifno@lst + ,store lst = \ekvdoc@enverb@options@lst + ,store tcb = \ekvdoc@enverb@options@tcb + ,boolTF no-lst = \ekvdoc@enverb@ifno@lst ,also nmeta no-lst = below - ,boolTF no-tcb = \enverb@ifno@tcb + ,boolTF no-tcb = \ekvdoc@enverb@ifno@tcb ,also nmeta no-tcb = below ,nmeta undo-no-tcb = {no-tcb=false, undo-below} - ,store inter = \enverb@inter - ,data gappend = \enverb@append - ,dataT pre-tcb = \enverb@pretcb - ,store after = \enverb@after - ,nmeta store = gappend=\enverb@store - ,noval no-store = \let\enverb@append\@secondoftwo - ,nmeta restore = {pre-tcb=\enverb@store,after=\enverb@clear@store} - ,code aboveskip = \edef\enverb@aboveskip{\vskip\unexpanded{#1}\relax} - ,code belowskip = \edef\enverb@belowskip{\vskip\unexpanded{#1}\relax} + ,store inter = \ekvdoc@enverb@inter + ,data gappend = \ekvdoc@enverb@append + ,dataT pre-tcb = \ekvdoc@enverb@pretcb + ,store after = \ekvdoc@enverb@after + ,nmeta store = gappend=\ekvdoc@enverb@store + ,noval no-store = \let\ekvdoc@enverb@append\@secondoftwo + ,nmeta restore = {o: pre-tcb=\ekvdoc@enverb@store,after=\ekvdoc@enverb@clear@store} + ,code aboveskip = \edef\ekvdoc@enverb@aboveskip{\vskip\unexpanded{#1}\relax} + ,code belowskip = \edef\ekvdoc@enverb@belowskip{\vskip\unexpanded{#1}\relax} ,default aboveskip = \medskipamount ,default belowskip = \medskipamount ,initial aboveskip ,initial belowskip - ,noval no-aboveskip = \let\enverb@aboveskip\@empty - ,noval no-belowskip = \let\enverb@belowskip\@empty + ,noval no-aboveskip = \let\ekvdoc@enverb@aboveskip\@empty + ,noval no-belowskip = \let\ekvdoc@enverb@belowskip\@empty } -\protected\long\ekvsetdef\enverbsetup{enverb} -\protected\def\enverb@clear@store{\global\let\enverb@store\@empty} -\enverb@clear@store +\protected\def\ekvdoc@enverb@clear@store{\global\let\ekvdoc@enverb@store\@empty} +\ekvdoc@enverb@clear@store -%% start of nested environments -\newcommand\enverb@tcb +\newcommand\ekvdoc@enverb@gaddo[2] + {\xdef#1{\unexpanded\expandafter{#1}\unexpanded\expandafter{#2}}} +\newcommand\ekvdoc@enverb@pre[2] + {\edef#1{\unexpanded{#2}\unexpanded\expandafter{#1}}} +\NewCommandCopy\Enverb\enverb +\def\enverb{\Enverb{}} +\def\endenverb {% - \expanded + \ekvdoc@enverb@append\ekvdoc@enverb@gaddo\@gobble\enverbBody + \par + \ekvdoc@enverb@aboveskip + \ekvdoc@enverb@ifno@lst{}% {% - \noexpand\begin{exresult}% - [{% - \enverb@options@tcb,% - \enverb@ifsameline\enverb@options@tcb@same\enverb@options@tcb@other - }]% + \ekvdoc@enverb@ifsameline + {\noindent\begin{minipage}[c]{\ekvdoc@enverb@codeshare\linewidth}}% + {}% + \ExpandArgs{ne}\enverbListing{lstlisting} + {[{% + \ekvdoc@enverb@options@lst,% + \ekvdoc@enverb@ifsameline + \ekvdoc@enverb@options@lst@same + \ekvdoc@enverb@options@lst@other + }]}% + \ekvdoc@enverb@ifsameline{\end{minipage}}{}% }% - {\linewidth\enverb@ifsameline{-\enverb@codeshare\linewidth}{}}% - } -\newcommand\enverb@lst - {% - \expanded + \ekvdoc@enverb@inter + \ekvdoc@enverb@ifno@tcb{}% {% - \noexpand\begin{lstlisting}% + \expanded{\noexpand\begin{exresult} [{% - \enverb@options@lst,% - \enverb@ifsameline\enverb@options@lst@same\enverb@options@lst@other - }]% - }% - } - -%% auxiliary error function -\newcommand\enverb@error[1] - {% - \GenericError - {(enverb)\@spaces\@spaces\@spaces\@spaces}% - {Environment enverb error: #1}% - {Just use it correctly!}% - {Read the sources.}% - } - -%% setup for weird category code regime -\begingroup -\lccode`\~=`\^^M -\catcode`\:=13 -\lccode`\:=`\ % <- space -\catcode`\;=13 -\lccode`\;=`\^^I % <- tab -\lowercase{\endgroup -%% code for spaces and CR -\def\enverb@body@space{}% -\def\enverb@body@tab{}% -\def\enverb@body@newline#1~% - {\enverb@ifnotend{#1}{\enverb@bol\unexpanded{#1}\enverb@eol~}}% -%% activate the category code regime of the body -\protected\def\enverb@body@setup - {% - \let\enverb@collected@body\@empty - \let\do\@makeother\dospecials - \catcode`\^^M=13 \let~\enverb@body@newline - \catcode`\ =13 \let:\enverb@body@space - \catcode`\^^I=13 \let;\enverb@body@tab - \let\enverb@bol\relax - \let\enverb@eol\relax - } -%% check for optional argument -\newcommand\enverb@search@oarg@a - {% - \ifx:\next - \ifenverb@firsteol - \else - \enverb@body@add{:}% - \fi - \let\next\enverb@search@oarg@b - \else - \ifx~\next - \ifenverb@firsteol - \enverb@firsteolfalse - \else - \enverb@body@add{~}% - \fi - \let\next\enverb@search@oarg@b - \else - \ifx[\next\@gobble]% - \let\next\enverb@oarg - \else - \ifenverb@firsteol - \let\next\enverb@body@after@begin - \else - \let\next\enverb@body - \fi - \fi - \fi - \fi - \next - } -%% start body collection -\newcommand\enverb@body - {\edef\enverb@collected@body{\iffalse}\fi\expandafter~\enverb@collected@body} -%% check the line after an oarg -\def\enverb@body@after@oarg#1~% - {\enverb@ensure@blank{#1}{closing bracket}\enverb@body} -%% check the line after the \begin statement -\def\enverb@body@after@begin#1~% - {\enverb@ensure@blank{#1}{\string\begin}\enverb@body} -} -%% quick check for empty line -\newcommand\enverb@ensure@blank[2] - {% - \expandafter\enverb@ifempty\expanded{{#1}}{}% - {% - \expanded{% - \noexpand\enverb@error + \ekvdoc@enverb@options@tcb,% + \ekvdoc@enverb@ifsameline + \ekvdoc@enverb@options@tcb@same + \ekvdoc@enverb@options@tcb@other + }]}% {% - Line after #2 not empty.\noexpand\MessageBreak - Contains: \detokenize\expandafter{\romannumeral`\^^@#1}% + \linewidth + \ekvdoc@enverb@ifsameline{-\ekvdoc@enverb@codeshare\linewidth}{}% }% - }% - }% - } -%% quick check for empty argument -\newcommand\enverb@ifempty[1] - {% - \enverb@ifempty@\enverb@ifempty@A#1\enverb@ifempty@B.\enverb@ifempty@true - \enverb@ifempty@A\enverb@ifempty@B - } -\def\enverb@ifempty@#1\enverb@ifempty@A\enverb@ifempty@B#2#3{#3} -\def\enverb@ifempty@true\enverb@ifempty@A\enverb@ifempty@B#1#2{#1} -\newcommand\enverb@gadd[2]{\xdef#1{\unexpanded\expandafter{#1#2}}} -\newcommand\enverb@body@add[1] - {% - \edef\enverb@collected@body - {\unexpanded\expandafter{\enverb@collected@body#1}}% - } -% start of environment `enverb' -\newcommand\enverb - {% - \begingroup - \def\tmp{enverb}% - \expandafter - \endgroup - \expandafter\enverb@ifnotend@setup@perhaps\expanded - {{\string{\@currenvir\string}}}% - \begingroup - \enverb@body@setup - \enverb@firsteoltrue - \let\enverb@collected@oarg\@empty - \enverb@search@oarg - } -\newif\ifenverb@firsteol -\newcommand\enverb@search@oarg{\futurelet\next\enverb@search@oarg@a} -\newcommand\enverb@search@oarg@b{\expandafter\enverb@search@oarg\@gobble} -\newcommand\enverb@oarg{\endgroup\enverb@oarg@} -\NewDocumentCommand\enverb@oarg@{O{}} - {% - \edef\enverb@collected@oarg{\unexpanded{#1}}% - \begingroup - \enverb@body@setup - \enverb@body@after@oarg - } -\def\enverb@ifnotend#1% - {% - \def\enverb@ifnotend##1% - {% - \enverb@ifnotend@ - ##1\enverb@mark\enverb@ifnotend@maybe - #1\enverb@mark\@thirdofthree - \enverb@stop - }% - \def\enverb@ifnotend@##1#1##2\enverb@mark##3##4\enverb@stop{##3{##1}{##2}}% - } -\expandafter\enverb@ifnotend\expanded{{\expandafter\@gobble\string\\end}} -\newcommand\enverb@ifnotend@maybe[2] - {\expandafter\enverb@ifnotend@perhaps\expandafter{\romannumeral`\^^@#2}{#1}} -\newcommand\enverb@ifnotend@setup@perhaps[1] - {% - \def\enverb@ifnotend@perhaps##1% - {% - \enverb@ifnotend@perhaps@\enverb@mark##1\enverb@mark\enverb@ifnotend@end - \enverb@mark#1\enverb@mark\@thirdofthree - \enverb@stop - }% - \def\enverb@ifnotend@perhaps@ - ##1\enverb@mark#1##2\enverb@mark##3##4\enverb@stop - {##3{##2}}% - } -\providecommand\@thirdofthree[3]{#3} -\outer\def\myabsolutestop{\stop} -\newcommand\enverb@ifnotend@end[3] - {% - \iffalse{\fi}% - \enverb@ensure@blank{#1}{\string\end}% - \expanded - {% - \endgroup - \enverbsetup - {\unexpanded\expandafter{\enverb@collected@oarg}}% - \noexpand\enverb@output - {\unexpanded\expandafter{\enverb@collected@body}}% - }% - {#2}% - \expandafter\end\expandafter{\@currenvir}% - } -\long\def\enverb@output#1#2% - {% - \enverb@ifautoignore - {\enverb@setup@ignore{\enverb@count{#2}+\enverb@moreignore}}% - {\enverb@setup@ignore\enverb@ignore}% - \edef\enverb@line##1\enverb@eol - {% - \noexpand\detokenize{##1}% - \noexpand\unexpanded{\unexpanded\expandafter{\enverb@eol@content}}% - }% - \edef\enverb@collected@body{#1}% - \expanded - {\unexpanded{\enverb@append\enverb@gadd\@gobble}\expandafter}% - \expandafter{\enverb@collected@body}% - \par - \enverb@aboveskip - \enverb@ifno@lst{}% - {% - \enverb@ifsameline - {\noindent\begin{minipage}[c]{\enverb@codeshare\linewidth}}% - {}% - \begingroup - \everyeof{\noexpand}% - \expandafter - \endgroup - \scantokens\expanded - {{% - \noexpand\csname enverb@lst\endcsname - \enverb@othercr - \enverb@collected@body - \string\end{lstlisting}\enverb@othercr - }}% - \enverb@ifsameline{\end{minipage}}{}% - }% - \enverb@inter - \enverb@ifno@tcb{}% - {% - \begingroup - \everyeof{\noexpand}% - \newlinechar=\endlinechar - \expandafter - \endgroup - \scantokens\expanded - {{% - \noexpand\csname enverb@tcb\endcsname - \enverb@pretcb{\unexpanded\expandafter}% - \enverb@collected@body - \noexpand\end{exresult}% - }}% + \ekvdoc@enverb@pretcb{\ekvdoc@enverb@pre\enverbBody}% + \enverbExecute + \end{exresult}% }% \par - \enverb@belowskip - \enverb@after + \ekvdoc@enverb@belowskip + \ekvdoc@enverb@after \@endpetrue } -\providecommand\@firstofnine[9]{#1} -\newcommand\enverb@setup@ignore[1] - {\expandafter\enverb@setup@ignore@\the\numexpr#1\relax;\enverb@line} -\def\enverb@setup@ignore@#1;#2% - {% - \ifnum#1>9 - \expandafter\@firstoftwo - \else - \expandafter\@secondoftwo - \fi - {\expandafter\enverb@setup@ignore@\the\numexpr#1-8;{\@firstofnine{#2}}}% - {% - \let\enverb@bol@gobble\@empty % just so that renewcommand doesn't go nuts - \expanded - {% - \unexpanded{\renewcommand\enverb@bol@gobble}\ifnum#1>\z@[#1]\fi - {% - \noexpand\unexpanded - {\unexpanded\expandafter{\enverb@bol@content}}% - \unexpanded{#2}% - }% - \unexpanded{\def\enverb@bol##1\enverb@eol}% - {% - \noexpand\unexpanded - {\unexpanded\expandafter{\enverb@bol@content}}% - \unexpanded{\expandafter\enverb@ifempty\expanded}{{##1}}% - {\noexpand\enverb@line}% - {\noexpand\enverb@bol@gobble}% - ##1\unexpanded{\enverb@eol}% - }% - }% - }% - } -\let\endenverb\@empty diff --git a/Master/texmf-dist/doc/latex/expkv-bundle/preamble-l3doctweaks.tex b/Master/texmf-dist/doc/latex/expkv-bundle/preamble-l3doctweaks.tex index 47d2c744a52..3ea08a042f1 100644 --- a/Master/texmf-dist/doc/latex/expkv-bundle/preamble-l3doctweaks.tex +++ b/Master/texmf-dist/doc/latex/expkv-bundle/preamble-l3doctweaks.tex @@ -13,8 +13,8 @@ \cs_set_protected:Npn \__expkvdoc_tmp:nN #1#2 { \__kernel_tl_set:Nx #2 { \tl_to_str:n {#1} } - \tl_replace_all:Nxn #2 { \c_underscore_str } { / } - \tl_remove_all:Nx #2 { \c_backslash_str } + \tl_replace_all:NVn #2 \c_underscore_str { / } + \tl_remove_all:NV #2 \c_backslash_str \tl_put_left:Nn #2 { doc/function// } } \cs_if_eq:NNTF \__expkvdoc_tmp:nN \__codedoc_get_hyper_target:nN diff --git a/Master/texmf-dist/doc/latex/expkv-bundle/preamble-lst.tex b/Master/texmf-dist/doc/latex/expkv-bundle/preamble-lst.tex index a94920bfffa..e616a696909 100644 --- a/Master/texmf-dist/doc/latex/expkv-bundle/preamble-lst.tex +++ b/Master/texmf-dist/doc/latex/expkv-bundle/preamble-lst.tex @@ -29,7 +29,7 @@ textit,texttt, usepackage, usemodule, - @gobble,@gobbletwo,@firstofone,@empty, + @gobble,@gobbletwo,@firstofone,@empty,@firstoftwo,@secondoftwo, ExplSyntaxOn,ExplSyntaxOff, } ,moretexcs=[4]% used packages |