定义标题中的引用标注

定义标题中的引用标注

我正在使用 break theoremstyle,我想做这样的事情

在此处输入图片描述

但是我的代码

 \usepackage[polish]{babel}
 \usepackage[T1]{fontenc}
 \usepackage[utf8]{inputenc}
 \usepackage[right=2.7cm,left=3.5cm, top=2.7cm, bottom=2.5cm,includehead]{geometry}
\usepackage{amssymb,amsmath, amsthm}
\usepackage{ntheorem}
\theoremstyle{break}
\newtheorem{definicja}{Definicja}[section]
\begin{document}
\begin{definicja} \cite[p.~71]{Doman}
Niech dany będzie zbiór $k$ punktów na płaszczyźnie, tzn. $\mathcal{K}_0=\{P_1, P_2, \ldots, P_k\}$. 
Kreśląc wszystkie możliwe okręgi i proste z danych punktów oraz wyznaczając ich części wspólne otrzymamy nowe punkty $P_{k+1}, P_{k+2}, \ldots, P_{k+l}$, gdzie $l \in \mathbb{N}$.  \\
Zbiór złożony z punktów $P_1, P_2, \ldots, P_k$ oraz z punktów $P_{k+1}, P_{k+2}, \ldots, P_{k+l}$ nazywa się zbiorem punktów konstruowalnych i oznacza się go jako $\mathcal{K}_1$. 
\end{definicja}
\end{document}

不要创建它:C

答案1

我假设您还使用了引文管理软件包,例如natbib。如果是这种情况,请考虑使用以下解决方案:

 \begin{definicja}[\protect{\citealp[p.~71]{Doman}}]

完整的 MWE:

在此处输入图片描述

\documentclass[12pt,a4paper]{report}
 \usepackage[numbers]{natbib}
 \usepackage[polish]{babel}
 \let\lll\relax % to avoid conflict with amssmyb package
 \usepackage[T1]{fontenc}
 \usepackage[utf8]{inputenc}
 \usepackage{lmodern}
 \usepackage[right=2.7cm,left=3.5cm, top=2.7cm, bottom=2.5cm,includehead]{geometry}
 \usepackage{amsmath,amssymb}    
 \usepackage{ntheorem}
 \theoremstyle{break}
 \newtheorem{definicja}{Definicja}[section]

\begin{document}
\setcounter{chapter}{3} % just for this example
\setcounter{section}{1} % just for this example

\begin{definicja}[\protect{\citealp[p.~71]{Doman}}]
Niech dany będzie zbiór $k$ punktów na płaszczyźnie, tzn.\ 
$\mathcal{K}_0=\{P_1, P_2, \ldots, P_k\}$.
Kreśląc wszystkie możliwe okręgi i proste z danych punktów oraz 
wyznaczając ich części wspólne otrzymamy nowe punkty $P_{k+1}, 
P_{k+2}, \ldots, P_{k+l}$, gdzie $l \in \mathbb{N}$.\\
Zbiór złożony z punktów $P_1, P_2, \ldots, P_k$ oraz z punktów 
$P_{k+1}, P_{k+2}, \ldots, P_{k+l}$ nazywa się zbiorem punktów 
konstruowalnych i oznacza się go jako $\mathcal{K}_1$.
\end{definicja}
\end{document}

附录满足 OP 的后续要求:为了满足您的额外格式要求,我建议您在序言中添加以下代码(ntheorem当然是加载包了):

\makeatletter
\renewtheoremstyle{break}%
{\item[\rlap{\vbox{\hbox{\hskip\labelsep \theorem@headerfont
     ##1\ ##2\theorem@separator}\hbox{\strut}}}]}%
{\item[\rlap{\vbox{\hbox{\hskip\labelsep \theorem@headerfont
     ##1\ ##2\ \mdseries [##3]\theorem@separator}\hbox{\strut}}}]}
\makeatother

相关内容