
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:
o texto recebe o adicionala
tambémadicionado logo antes da nota de rodapé: conforme mostrado aqui:
Idealmente, é claro, a
també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 \footnote
comando 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 \thefootnote
se 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 footnote
ou mpfootnote
, dependendo do contexto) dentro do \@xfootnote
comando interno. O código para esta atribuição é (equivalente a)
<counter> = #1\relax
que, no nosso caso, se torna
<counter> = 1a\relax
Mas a
termina a constante inteira 1
e, portanto, também a atribuição; neste ponto, o a
token é 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 extrastuff
contador, que é escalonado cada vez que \myextrafootnote
é usado.
Porém, mais do que 26
adições não são possíveis desta forma, pois \alph{extrastuff}
é utilizado.
Se você precisar de ainda mais acréscimos, o alphalph
pacote 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}
Atualizar
Redefinindo extrastuff
com 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 latexdiff
em 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