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 usepackage
Anweisungen 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 usepackage
Anweisungen 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 bookmark
lädt das Paket das hyperref
Paket 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 „ \footnote
nachdem“ von setspace, die ihre Arbeit getan hat. Wenn Sie nach setspace, aber vor hyperref
eingeben :\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, hyperref
frü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, \@footnotetext
die auftreten würde, wenn footmisc
sie zuerst geladen würde.