
Я хотел бы использовать пакет hyperref
вместе с ntheorem
и его опцией \theoremstyle{break}
, потому что я хочу отделить название теоремы от ее содержания. Моя проблема в том, что гиперссылки внутри первой строки теоремы отображаются в слишком большой рамке, которая по вертикали выше высоты строки, как в этом примере:
Мой код такой:
\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}
Я экспериментировал с \vspace
, но это тоже не сработало. Я новичок в LaTeX. Не могли бы вы подсказать, как исправить это поведение?
решение1
В реализации ntheorem заголовок теоремы на самом деле является частью первой строки, и поэтому эта строка имеет большую высоту, которая используется ссылкой для вычисления прямоугольника ссылки; вы получите то же самое, например, с большой распоркой. Единственное, что вы можете сделать, это поместить \ref в поле:
\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}