
Ich möchte das Paket hyperref
zusammen mit ntheorem
und seiner Option verwenden \theoremstyle{break}
, da ich den Titel eines Theorems vom Inhalt des Theorems trennen möchte. Mein Problem ist, dass die Hyperlinks in der ersten Zeile eines Theorems in einem zu großen Rahmen gezeichnet werden, der vertikal höher ist als die Zeilenhöhe, wie in diesem Beispiel:
Mein Code ist dieser:
\documentclass{article}
\usepackage{ntheorem,hyperref}
\theoremstyle{break}
\theoremindent20pt
\theoremheaderfont{\normalfont\bfseries\hspace{-\theoremindent}}
\newtheorem{cri}{Criterion}
\begin{document}
\section{First Section}
\label{sec:test}
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.
\section{Second Section}
According to Section \ref{sec:test}, Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.
\begin{cri}[Example]
According to Section \ref{sec:test}, Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.
\end{cri}
\end{document}
Ich habe mit experimentiert \vspace
, aber das hat auch nicht funktioniert. Ich bin ein LaTeX-Neuling. Können Sie mir bitte einen Rat geben, wie ich dieses Verhalten beheben kann?
Antwort1
In der ntheorem-Implementierung ist der Titel des Theorems tatsächlich Teil der ersten Zeile, und daher hat diese Zeile eine große Höhe, die vom Link verwendet wird, um das Linkrechteck zu berechnen; dasselbe würden Sie z. B. mit einer großen Strebe erhalten. Das Einzige, was Sie tun können, ist, \ref in eine Box zu setzen:
\documentclass{article}
\usepackage{ntheorem,hyperref}
\theoremstyle{break}
\theoremindent20pt
\theoremheaderfont{\normalfont\bfseries\hspace{-\theoremindent}}
\newtheorem{cri}{Criterion}
\begin{document}
\section{First Section}
\label{sec:test}
\begin{cri}[Example]
According to Section \ref{sec:test}, %large height
\end{cri}
\rule{0pt}{24pt}\ref{sec:test} %large height
\begin{cri}[Example]
According to Section \mbox{\ref{sec:test}}, %smaller height
\end{cri}
\end{document}