Adição

Adição

LaTeXé muito bom para ajustar a numeração - e mais importante, as referências a ela - ao inserir novos capítulos, seções, etc.

Documentos legais (e livros), pelo menos aqui na Alemanha, tendem a inserir essas coisas mantendo intacta a numeração anterior, mas usando o número antes da inserção seguido de uma letra minúscula (a, b, c, ...), para indicar que algo mudou (seja no último minuto, ou - o que é o caso realmente importante - em relação a uma edição anterior).

Como achei raro haver mais de uma nota de rodapé consecutiva adicional, tentei o seguinte hack (incrivelmente grosseiro e sujo), mostrado no MWE:

\documentclass{article}
\newcommand{\myextrafootnote}[1]{\renewcommand{\thefootnote}{\arabic{footnote}a}\footnote[\thefootnote]{#1}\renewcommand{\thefootnote}{\arabic{footnote}}}%
\begin{document}
This is the old text\footnote{foo}, followed by the new insert\myextrafootnote{New Exciting Stuff!!}, followed by the old next one.\footnote{bar}
\end{document}

Infelizmente, não funciona como eu esperava. Embora as próprias notas de rodapé tenham a aparência que deveriam: Notas de rodapé, com um pouco mais no meio

o texto recebe o adicionala tambémadicionado logo antes da nota de rodapé: conforme mostrado aqui: texto, com mais extras do que realmente é necessário

Idealmente, é claro, atambém viria de algum tipo de contador (eu tentei isso também, mas se transformou em muitas mensagens de erro sobre argumentos faltantes, então abandonei e decidi perguntar melhor aos especialistas...) entãoseSe houvesse mais de uma nota de rodapé consecutiva adicional, ela ainda funcionaria corretamente [e seria menos grosseira do que é agora].

Responder1

O argumento opcional do \footnotecomando espera uminteirocontendo o número da nota de rodapé, não a representação textual desse número. Então, você deve usar

\footnote[\value{footnote}]{#1}

em vez de

\footnote[\thefootnote]{#1}

Adição

Então, de onde vem o “a” extra? Para entender isso, vamos examinar passo a passo como o código errado

\footnote[\thefootnote]{#1}

é digerido pelo TeX. A macro \thefootnotese expande (no contexto em que o OP a usou) para 1a, então (La)TeX vê o equivalente a

\footnote[1a]{...}

Mas, como já foi dito, espera que o argumento opcional contenha um valor inteiro; esse valor inteiro é atribuído localmente a um contador dedicado (ou footnoteou mpfootnote, dependendo do contexto) dentro do \@xfootnotecomando interno. O código para esta atribuição é (equivalente a)

<counter> = #1\relax

que, no nosso caso, se torna

<counter> = 1a\relax

Mas atermina a constante inteira  1e, portanto, também a atribuição; neste ponto, o atoken é interpretado como um comando para compor um caractere “a” na horizontal (ou seja, o modo atual). E aqui estamos.

Responder2

Aqui está a adição de um extrastuffcontador, que é escalonado cada vez que \myextrafootnoteé usado.

Porém, mais do que 26adições não são possíveis desta forma, pois \alph{extrastuff}é utilizado.

Se você precisar de ainda mais acréscimos, o alphalphpacote para aumentar a produção do contador será útil!

\documentclass{book}


\newcounter{extrastuff}[chapter]

\newcommand{\myextrafootnote}[1]{%
  \stepcounter{extrastuff}%
  \begingroup
  \renewcommand{\thefootnote}{\arabic{footnote}\alph{extrastuff}}%
  \footnote[\value{footnote}]{#1}%
  \endgroup
}%
\begin{document}

This is the old text\footnote{foo}, followed by the new insert\myextrafootnote{New Exciting Stuff!!}, followed by the old next one.\footnote{bar}

New however is this text\myextrafootnote{Really new Exciting Stuff!!}, followed by the old next one.\footnote{foobar}
\end{document}

insira a descrição da imagem aqui

Atualizar

Redefinindo extrastuffcom contador de notas de rodapé:

\documentclass{book}


\newcounter{extrastuff}[footnote]

\newcommand{\myextrafootnote}[1]{%
  \stepcounter{extrastuff}%
  \begingroup
  \renewcommand{\thefootnote}{\arabic{footnote}\alph{extrastuff}}%
  \footnote[\value{footnote}]{#1}%
  \endgroup
}%
\begin{document}

This is the old text\footnote{foo}, followed by the new insert\myextrafootnote{New Exciting Stuff!!}, now for something completely different\myextrafootnote{Other top secret content}, followed by the old next one.\footnote{bar}

New however is this text\myextrafootnote{Really new Exciting Stuff!!}, followed by the old next one.\footnote{foobar}
\end{document}

Responder3

Este é um belo caso de pensamento de curto prazo. Sua solução causará mais problemas do que soluções. Como você marcará as novas notas de rodapé de uma próxima revisão?

Se você precisar exibir as alterações entre duas revisões de um documento, forneça uma »diferença« entre document-version-1.tex e document-version-2.tex, sendo esta última a revisão mais recente.

Por favor, dê uma olhada em latexdiff, você obtém o manual digitando texdoc latexdiffem uma janela do console. Basicamente, é apenas

latexdiff document-version-1.tex document-version-2.tex > document-diff.tex

E então abra e compile document-diff.tex. O PDF contém todas as alterações.

Você pode escolher cores e marcações de exclusões e acréscimos. Eu prefiro colocar algo como

\providecommand{\DIFadd}[1]{{\protect\color{blue}#1}} %DIF PREAMBLE
\providecommand{\DIFdel}[1]{{\protect\color{red}\protect\scriptsize{#1}}}

no preâmbulo do document-diff.tex.

Isto tem a vantagem de exibir claramente as diferenças entre duas versões de um documento. Por enquanto e qualquer revisão no futuro.

Se você espera muitas revisões, considere usar um sistema de controle de versão como git e depois latexbatchdiff, veja aqui:https://tex.stackexchange.com/a/44092/4736

informação relacionada