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 usepackage
declaraciones 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 usepackage
declaraciones 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 bookmark
carga el hyperref
paquete 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 \footnote
después de hyperref
haber 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 hyperref
temprano. 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 \@footnotetext
que ocurriría si footmisc
se cargara primero.