Las notas a pie de página que se comportan mal en el informe van a la página principal pero se comportan correctamente en otro informe

Las notas a pie de página que se comportan mal en el informe van a la página principal pero se comportan correctamente en otro informe

Me pregunto si alguien puede aconsejarme sobre lo que está mal.

Tengo un informe LaTeX donde hago referencia a la misma nota al pie más de una vez en una página de la introducción:

documentclass[oneside,11pt]{report}

\usepackage[hang, flushmargin]{footmisc}
\usepackage[colorlinks=true]{hyperref}
\usepackage{footnotebackref}
%\usepackage{hyperref}
%\usepackage{footmisc}
\usepackage{graphics}
\usepackage{graphicx}

\begin{document}

    \begin{abstract}
        This report\ldots
    \end{abstract}

    \tableofcontents
    \listoffigures
    
    \pagenumbering{arabic} 
    
    \part{Introduction and opening remarks}
    \chapter{Introduction}
    
    \section{MySQL}
    MySQL\footnote{\url{http://mysql.com/}.} is a popular RDBMS supported by Oracle\footnote{\url{http://www.oracle.com/}\label{OracleURL}.}.

    \section{NetBeans}
    NetBeans\footnote{\url{https://netbeans.org/}.} is an integrated development environment (IDE) principally for Java, but which supports several other programming languages. and other languages. NetBeans is sponsored by Oracle\footref{OracleURL}.
    \section{Treemap}
    Treemaps are defined by Wikipedia \footnote{\url{http://en.wikipedia.org/wiki/Treemapping}.}.
    
    \chapter{Bakground}
    \chapter{Review} 
            
    \part{Case study one}
    \chapter{Apparatus}
    \chapter{Method} 
    \chapter{Experiment} 
    \chapter{Results}  
    
    \part{Case study two}
    \chapter{Apparatus}
    \chapter{Method}
    \chapter{Experiment}
    \chapter{Results}        
    
    \appendix
    
    \chapter{References}

\end{document}

Esto funciona correctamente. Pero si trato de agregar las usepackagedeclaraciones de este informe a otro, el segundo informe no se compila debido a una

 LaTeX Warning: Command \@footnotetext  has changed.
           Check if current package is valid.

)

! LaTeX Error: Option clash for package hyperref.

See the LaTeX manual or LaTeX Companion for explanation.
Type  H <return>  for immediate help.
 ...                                              
                                                  
l.31 \usepackage
                {footnotebackref}
? 

Process has been terminated ...

E incluso si restablezco las usepackagedeclaraciones a:

\usepackage{hyperref}
\usepackage{footmisc}

Todas las notas a pie de página del segundo informe me llevan a la portada del informe.

¿Por qué?

El segundo informe actual no se puede mostrar en su totalidad, pero esto se acerca mucho a cómo es:

\documentclass[oneside,11pt]{report} % Use twoside for alternate page headings.

% \usepackage{algcompatible}
\usepackage{algorithm}
\usepackage{algorithmic}
% \usepackage{algorithmicx}
% \usepackage{algpseudocode}
\usepackage{alltt}
\usepackage{anysize}
\usepackage{appendix}
\usepackage{array}
\usepackage{bookmark}
\usepackage{booktabs}
\usepackage{changepage}
\usepackage{cite}
\usepackage{color}
\usepackage{enumerate}
\usepackage{etoolbox}
\usepackage{fancyhdr}
\usepackage{fixltx2e}
% \usepackage[hang, flushmargin]{footmisc}
% \usepackage[colorlinks=true]{hyperref}
% \usepackage{footnotebackref}
\usepackage{footmisc}
\usepackage{hyperref}
\usepackage{graphics}
\usepackage{graphicx}
\usepackage{longtable}
% \usepackage{minitoc}
\usepackage{pdflscape}
\usepackage{ragged2e}
\usepackage{setspace}
% \usepackage{soul}

\marginsize{2.54cm}{2.54cm}{2.54cm}{2.54cm}

% Tables.
\newcolumntype{R}[1]{>{\RaggedLeft\arraybackslash}p{#1}}

% ALGORITHMS. -------------------------------------------------------------------------------------

\makeatletter
\newcommand\fs@algorithmunruled{\def\@fs@cfont{}\let\@fs@capt\floatc@plain% Caption style.
    \def\@fs@pre{\kern8pt}
    % \def\@fs@pre{\hrule height.8pt depth0pt \kern2pt}% Line at top of algorithm and 2pt gap.
    \def\@fs@post{}
    % \def\@fs@post{\kern2pt\hrule\relax}% Remove line below `\caption`.
    \def\@fs@mid{\kern8pt}% Line at bottom of algorithm.
    % \def\@fs@mid{}
    \let\@fs@iftopcapt\iffalse}% Place caption under algorithm.
\makeatother
\floatstyle{algorithmunruled}
\restylefloat{algorithm}

\renewcommand{\algorithmicforall}{\textbf{for each}}
\renewcommand{\thealgorithm}{\thechapter.\arabic{algorithm}}
\makeatletter
\@addtoreset{algorithm}{chapter}
\makeatother

% GLOSSARY. ---------------------------------------------------------------------------------------

\usepackage[acronym,footnote,nonumberlist]{glossaries} % Makes a list of abbreviations.
\usepackage{glossary-mcols}
% \makeglossaries % This must be run from the command-line: e.g. 'makeglossaries file'
                  % where `file` is the name of the main LaTeX file.
\renewcommand{\glossarypreamble}{Some text\ldots.}

\include{Glossary}
%\renewcommand{\glsnamefont}[1]{\textbf{#1}}

\makeglossaries
\glossarystyle{mcolindex}

% ADD TEXT TO PART PAGE. --------------------------------------------------------------------------

\makeatletter

\let\LaTeXStandardPart\part%
\newcommand{\unstarredpart@@noopt}[1]{%
    \unstarredpart@@opt[#1]{#1}%
}

\newcommand{\unstarredpart@@opt}[2][]{%
    \cleardoublepage% (For clearing content before.)
    \begingroup%
    \let\newpage\relax%
    \LaTeXStandardPart[#1]{#2}%
    \endgroup%
}

\newcommand{\starredpart}[1]{%
    \LaTeXStandardPart*{#1}%
}

\newcommand{\unstarredpart}{%
    \@ifnextchar[{\unstarredpart@@opt}{\unstarredpart@@noopt}%
}

\renewcommand{\part}{%
  \@ifstar{\starredpart}{\unstarredpart}%
}

\begin{document}

    \pagenumbering{roman}

    % Title page.
    \title{\textcolor{red}{** WORKING DRAFT **}}
    \author{Author}

    \begin{abstract}
        This report\ldots
    \end{abstract}

    \tableofcontents

    % Print glossary.
    \glsaddall
    \printglossary[type=acronym,title={List of Abbreviations}]
    %\printglossaries%[title={List of abbreviations}]

    % Print algorithms.
    \listofalgorithms
    \setcounter{chapter}{0}

    \listoffigures
    \listoftables

    \pagenumbering{arabic}

    \part{Introduction and opening remarks}
    \chapter{Introduction}

    \section{MySQL}
    MySQL\footnote{\url{http://mysql.com/}.} is a popular RDBMS supported by Oracle\footnote{\url{http://www.oracle.com/}\label{OracleURL}.}.

    \section{NetBeans}
    NetBeans\footnote{\url{https://netbeans.org/}.} is an integrated development environment (IDE) principally for Java, but which supports several other programming languages. and other languages. NetBeans is sponsored by Oracle\footref{OracleURL}.
    \section{Treemap}
    Treemaps are defined by Wikipedia \footnote{\url{http://en.wikipedia.org/wiki/Treemapping}.}.

    \chapter{Bakground}
    \chapter{Review}

    \part{Case study one}
    \chapter{Apparatus}
    \chapter{Method}
    \chapter{Experiment}
    \chapter{Results}

    \part{Case study two}
    \chapter{Apparatus}
    \chapter{Method}
    \chapter{Experiment}
    \chapter{Results}

    \appendix

    \chapter{References}

\end{document}

Respuesta1

Para la advertencia de conflicto de opciones, el paquete bookmarkcarga el hyperrefpaquete con el conjunto predeterminado de opciones del paquete Hyperref si aún no está allí. Su mayor problema de notas a pie de página es el resultado de que setspace cambie la definición de \footnotedespués de hyperrefhaber hecho su trabajo. Si pones \usepackage[colorlinks=true]{hyperref}después de setspace pero antes bookmarks:

\documentclass[11pt]{report}
\usepackage{setspace}
\usepackage[hang, flushmargin]{footmisc}

\usepackage{algorithm}
\usepackage{algorithmic}
\usepackage{alltt}
\usepackage{anysize}
\usepackage{appendix}
\usepackage{array}
\usepackage{booktabs}
\usepackage{changepage}
\usepackage{cite}
\usepackage{color}
\usepackage{enumerate}
\usepackage{etoolbox}
\usepackage{fancyhdr}
\usepackage{fixltx2e}
\usepackage{graphics}
\usepackage{graphicx}
\usepackage{longtable}
\usepackage{pdflscape}
\usepackage{ragged2e}


\usepackage[colorlinks=true]{hyperref}
\usepackage{bookmark}

\marginsize{2.54cm}{2.54cm}{2.54cm}{2.54cm}

% Tables.
\newcolumntype{R}[1]{>{\RaggedLeft\arraybackslash}p{#1}}

% ALGORITHMS. -------------------------------------------------------------------------------------

\makeatletter
\newcommand\fs@algorithmunruled{\def\@fs@cfont{}\let\@fs@capt\floatc@plain% Caption style.
    \def\@fs@pre{\kern8pt}
    % \def\@fs@pre{\hrule height.8pt depth0pt \kern2pt}% Line at top of algorithm and 2pt gap.
    \def\@fs@post{}
    % \def\@fs@post{\kern2pt\hrule\relax}% Remove line below `\caption`.
    \def\@fs@mid{\kern8pt}% Line at bottom of algorithm.
    % \def\@fs@mid{}
    \let\@fs@iftopcapt\iffalse}% Place caption under algorithm.
\makeatother
\floatstyle{algorithmunruled}
\restylefloat{algorithm}

\renewcommand{\algorithmicforall}{\textbf{for each}}
\renewcommand{\thealgorithm}{\thechapter.\arabic{algorithm}}
\makeatletter
\@addtoreset{algorithm}{chapter}
\makeatother

% GLOSSARY. ---------------------------------------------------------------------------------------

\usepackage[acronym,footnote,nonumberlist]{glossaries} % Makes a list of abbreviations.
\usepackage{glossary-mcols}
% \makeglossaries % This must be run from the command-line: e.g. 'makeglossaries file'
                  % where `file` is the name of the main LaTeX file.
\renewcommand{\glossarypreamble}{Some text\ldots.}

\include{Glossary}
%\renewcommand{\glsnamefont}[1]{\textbf{#1}}

\makeglossaries
\glossarystyle{mcolindex}

% ADD TEXT TO PART PAGE. --------------------------------------------------------------------------

\makeatletter

\let\LaTeXStandardPart\part%
\newcommand{\unstarredpart@@noopt}[1]{%
    \unstarredpart@@opt[#1]{#1}%
}

\newcommand{\unstarredpart@@opt}[2][]{%
    \cleardoublepage% (For clearing content before.)
    \begingroup%
    \let\newpage\relax%
    \LaTeXStandardPart[#1]{#2}%
    \endgroup%
}

\newcommand{\starredpart}[1]{%
    \LaTeXStandardPart*{#1}%
}

\newcommand{\unstarredpart}{%
    \@ifnextchar[{\unstarredpart@@opt}{\unstarredpart@@noopt}%
}

\renewcommand{\part}{%
  \@ifstar{\starredpart}{\unstarredpart}%
}
\begin{document}\pagenumbering{roman}
   \begin{abstract}
        This report\ldots
    \end{abstract}

    \tableofcontents
  \pagenumbering{arabic}

    \part{Introduction and opening remarks}
    \chapter{Introduction}

    \section{MySQL}

    MySQL\footnote{\url{http://mysql.com/}.} is a popular RDBMS supported by Oracle\footnote{\url{http://www.oracle.com/}\label{OracleURL}.}.

    \section{NetBeans}
    NetBeans\footnote{\url{https://netbeans.org/}.} is an integrated development environment (IDE) principally for Java, but which supports several other programming languages. and other languages. NetBeans is sponsored by Oracle\footref{OracleURL}.
    \section{Treemap}
    Treemaps are defined by Wikipedia.\footnote{\url{http://en.wikipedia.org/wiki/Treemapping}.}


\end{document}

Parece que su informe se compila bien para mí.

Respuesta2

Puede haber muy buenas razones para cargar hyperreftemprano. La siguiente codificación funciona para mí.

\makeatletter
 \let\HYP@footnotetext\@footnotetext
\makeatother
\usepackage{footmisc}
\makeatletter
 \let\FN@footnotetext\@footnotetext
 \let\H@@footnotetext\FN@footnotetext
 \let\@footnotetext\HYP@footnotetext
\makeatother

Funciona recreando la expansión \@footnotetextque ocurriría si footmiscse cargara primero.

información relacionada