Fußnoten, die sich in Berichten falsch verhalten, werden auf die Titelseite verschoben, verhalten sich in anderen Berichten jedoch korrekt

Fußnoten, die sich in Berichten falsch verhalten, werden auf die Titelseite verschoben, verhalten sich in anderen Berichten jedoch korrekt

Ich frage mich, ob mir jemand einen Rat geben kann, was nicht stimmt?

Ich habe einen LaTeX-Bericht, in dem ich in der Einleitung mehr als einmal auf einer Seite auf dieselbe Fußnote verweise:

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}

Dies funktioniert einwandfrei. Wenn ich jedoch versuche, die usepackageAnweisungen aus diesem Bericht zu einem anderen hinzuzufügen, schlägt die Kompilierung des zweiten Berichts fehl, da

 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 ...

Und selbst wenn ich die usepackageAnweisungen zurücksetze auf:

\usepackage{hyperref}
\usepackage{footmisc}

Die Fußnoten des zweiten Berichts führen mich alle zur Titelseite des Berichts.

Warum?

Der aktuelle zweite Bericht kann nicht vollständig angezeigt werden, aber so sieht es ziemlich genau aus:

\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}

Antwort1

Für die Warnung vor Optionskonflikten bookmarklädt das Paket das hyperrefPaket mit dem Standardsatz an Hyperref-Paketoptionen, falls dieser noch nicht vorhanden ist. Ihr größeres Fußnotenproblem ist das Ergebnis der Änderung der Definition von „ \footnotenachdem“ von setspace, die ihre Arbeit getan hat. Wenn Sie nach setspace, aber vor hyperrefeingeben :\usepackage[colorlinks=true]{hyperref}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}

Ihr Bericht scheint sich für mich problemlos kompilieren zu lassen.

Antwort2

Es kann sehr gute Gründe geben, hyperreffrühzeitig zu laden. Die folgende Codierung funktioniert bei mir.

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

Es funktioniert, indem die Erweiterung nachgebildet wird, \@footnotetextdie auftreten würde, wenn footmiscsie zuerst geladen würde.

verwandte Informationen