在内边距上书写

在内边距上书写

我有一些讲义,其中使用了边注。现在我想将一些定理或证明标记为重要。为此,我想在边注上添加一些“图标”(可能只是一些星号)。由于笔记在外边距,我想使用内边距。我尝试使用\reversemarginpar但没有成功,请参阅下面的 MWE。有时星星在一个边距上,有时在另一个边距上。此外,我希望星星与“定理”或“证明”线对齐,而不是它们在下面或上面。

有没有办法将一个框放在内边距的绝对水平位置和当前垂直位置?

\documentclass[italian,a4paper,twoside,headinclude]{scrbook}
\usepackage{amsthm,thmtools}
\usepackage{babel,a4}
\usepackage[nochapters,pdfspacing]{classicthesis}
\usepackage[utf8]{inputenc}
\usepackage{sidenotes}
\usepackage{hyphenat}
\usepackage{mparhack} % fix margin notes (otherwise sometime they go to wrong margin!)
\AfterPreamble{\hypersetup{hidelinks=true,}}

\newcommand{\mymark}[1]{\reversemarginpar\marginpar{#1}\normalmarginpar}

\newcommand{\mynote}[1]{\sidenote[\phantom{}]{#1}}
\newcommand{\mymargin}[1]{\mynote{#1}\index{#1}}

\declaretheorem[name=Teorema,numberwithin=chapter]{theorem}

\begin{document}
\begin{theorem}[Bolzano-Weierstrass]
\mymargin{Bolzano-Weierstrass}
\index{teorema!di Bolzano-Weierstrass}
\mymark{***}%
Se $a_n$ è limitata allora esiste una sottosuccessione
$a_{n_k}$ convergente.
\end{theorem}
%
\begin{proof}
\mymark{**}%
Questa è la dimostrazione.
Questa è la dimostrazione.
Questa è la dimostrazione.
Questa è la dimostrazione.
Questa è la dimostrazione.
Questa è la dimostrazione.
Questa è la dimostrazione.
Questa è la dimostrazione.
Questa è la dimostrazione.
\end{proof}

\end{document}

在此处输入图片描述

答案1

marginnote软件包可以很好地完成这项工作。如果我添加\usepackage{marginnote}并仅对您的代码进行以下调整:

\newcommand{\mymark}[1]{\reversemarginpar\marginnote{#1}\normalmarginpar}
\newcommand{\mymargin}[1]{\marginnote{{\footnotesize #1}}\index{#1}}

我明白了

输出图像

更新

根据您的评论,我再次查看了您正在做的事情。虽然这对您有用,但我认为sidenote在这里使用不正确。我可以详细说明,但本质上您会遇到间距不佳和其他各种问题。

我又想了想,我倾向于建议一种完全不同的方法,因为你使用的是komascript,即notecolumn。它需要两次才能正确完成,但它正是为解决你的问题而设计的,它会根据需要移动音符。

请注意这总是需要两次编译才能得到正确的注释

\documentclass[italian,a4paper,twoside,headinclude]{scrbook}
\usepackage{amsthm,thmtools}
\usepackage{babel,a4}
\usepackage[nochapters,pdfspacing]{classicthesis}
\usepackage[utf8]{inputenc}
\usepackage{scrlayer-scrpage}
\usepackage{scrlayer-notecolumn}
\DeclareNewNoteColumn[%
  position={\ifodd\value{page}
        \dimexpr \oddsidemargin+1in
                -\marginparsep\relax
      \else
          \dimexpr \evensidemargin+1in
          +\textwidth+\marginparsep\relax
       \fi},
     font=\raggedright\footnotesize\bfseries]{marker}
\RedeclareNoteColumn[%
   marginpar,
   font=\raggedright\footnotesize]{marginpar}


\newcommand{\mymarker}[1]{\makenote[marker]{#1}}
\newcommand{\mynote}[1]{\makenote[marginpar]{#1}\index{#1}}     

\declaretheorem[name=Teorema,numberwithin=chapter]{theorem}

\begin{document}
\begin{theorem}[Bolzano-Weierstrass]\mynote{Bolzano-Weierstrass}\mymarker{***}
\index{teorema!di Bolzano-Weierstrass}
Se $a_n$ è limitata allora esiste una sottosuccessione
$a_{n_k}$ convergente.
\end{theorem}
\begin{proof}
Questa è la dimostrazione.
Questa è la dimostrazione.
Questa è la dimostrazione.
Questa è la dimostrazione.
Questa è la dimostrazione.
Questa è la dimostrazione.
Questa è la dimostrazione.
Questa è la dimostrazione.
Questa è la dimostrazione.
\end{proof}

\end{document}

注意:我原本以为只需提供选项,就可以获得我想要的“标记”列reversemarginpar\DeclareNewNoteColumn但我做不到。我思考虽然我还没有深入挖掘出在如何定义这个方面存在一个错误,那就是将注释放在奇数页之外。无论如何,我所拥有的似乎有效!

经过修改的版本

答案2

这可能有点过头了,但你可以在叠加模式下使用 TikZ。原点位于使用 tikzpicture 的基线处。TikZ 需要运行两次才能确定原点相对于页面其余部分的位置。

棘手的部分是将文本的第一行与基线对齐。节点通常将文本垂直居中(使用leftright)。

\documentclass[italian,a4paper,twoside,headinclude]{scrbook}
\usepackage{amsthm,thmtools}
\usepackage{babel,a4}
\usepackage[nochapters,pdfspacing]{classicthesis}
\usepackage[utf8]{inputenc}
\usepackage{hyphenat}
\usepackage{tikzpagenodes}

\AfterPreamble{\hypersetup{hidelinks=true,}}

\makeatletter
\let\tikzpage=\oddpage@page
\makeatother

\newcommand{\mymark}[1]{\begin{tikzpicture}[remember picture,overlay]
  \coordinate (here) at (0,0);
  \ifodd\tikzpage 
    \path (current page text area.west |- here)
      node[left=\marginparsep,inner sep=0pt] {#1};
  \else 
    \path (current page text area.east |- here)
      node[right=\marginparsep,inner sep=0pt] {#1};
  \fi
  \end{tikzpicture}}

\newcommand{\mynote}[1]{\begin{tikzpicture}[remember picture,overlay]
  \coordinate (here) at (0,0);
  \ifodd\tikzpage 
    \path (current page text area.east |- here)
      node[right=\marginparsep,inner sep=0pt] 
        {\smash{\parbox[t]{\marginparwidth}{\raggedright #1}}};
  \else 
    \path (current page text area.west |- here)
      node[left=\marginparsep,inner sep=0pt]
        {\smash{\parbox[t]{\marginparwidth}{\raggedright #1}}};
  \fi
  \end{tikzpicture}}

\newcommand{\mymargin}[1]{\mynote{#1}\index{#1}}

\declaretheorem[name=Teorema,numberwithin=chapter]{theorem}

\begin{document}
\begin{theorem}[Bolzano-Weierstrass]
\mymargin{Bolzano-Weierstrass}
\index{teorema!di Bolzano-Weierstrass}
\mymark{***}%
Se $a_n$ è limitata allora esiste una sottosuccessione
$a_{n_k}$ convergente.
\end{theorem}
%
\begin{proof}
\mymark{**}%
Questa è la dimostrazione.
Questa è la dimostrazione.
Questa è la dimostrazione.
Questa è la dimostrazione.
Questa è la dimostrazione.
Questa è la dimostrazione.
Questa è la dimostrazione.
Questa è la dimostrazione.
Questa è la dimostrazione.
\end{proof}

\end{document}

演示

相关内容