テキストと余白の注釈を区切る線を引く簡単な方法はありますか?

テキストと余白の注釈を区切る線を引く簡単な方法はありますか?

私は次のことを行いました:

ここに画像の説明を入力してください

そして、私はテキストと余白のメモを分けるために単純な線を引こうとしています。これは、この質問ですが、実装するには複雑すぎるようです (あるいは私があまりにも愚かなのかもしれません。これも有効な仮説です)。メモとテキストを分離するシンプルなものが欲しいです。これが私のコードです。

\documentclass[12pt]{article}

\usepackage{amsmath}
\usepackage{relsize}
\usepackage{marginnote}
\usepackage[top=1.5cm, bottom=1.5cm, outer=5cm, inner=2cm, heightrounded, marginparwidth=6.5cm, marginparsep=-2cm]{geometry}

\begin{document}

\marginnote{\begin{eqnarray*}
  {n!}&=&{(n)(n-1)!} \\ 
  {(n+1)!}&=&{(n+1)(n) (n-1)!} 
\end{eqnarray*}
}[2.6cm]


\begin{eqnarray*}
  {\frac{\mathlarger{\prod_{j=0}^{n}(j+1)}}{\mathlarger{‎‎\sum_{i=1}^{n}i}}}&=&{\frac{(j+1)!}{\frac{n(n+1)}{2}}} \\ 
  {}&=&{\frac{2(n+1)!}{n(n+1)}} \\
  {}&=&{\frac{(2)(n+1)(n) (n-1)!}{(n)(n+1)}} \\
  {}&=&{2(n-1)!} 
\end{eqnarray*}

\begin{eqnarray*}
  {\frac{\mathlarger{\prod_{j=1}^{n}j}}{\mathlarger{‎‎\prod_{i=p+1}^{n-1}i}\cdot \mathlarger{‎‎\prod_{k=1}^{p}k} }}&=&{    \frac{n!}{? \cdot k!}                                       } \\ 
  {}&=&{}
\end{eqnarray*}


\end{document}

答え1

ソリューションの使用方法に興味がある場合は、テキストと余白の注釈を区切る線を挿入するドキュメントに適切なコードを追加し、以下を使用するだけです\marginpar

ここに画像の説明を入力してください

ノート:

  • 次のような使用は避けてくださいeqnarrayeqnarray と align
  • align適切な数式間隔を得るために、 と を使用するようにコードを変更しました。&=ではなく を使用する必要があります。&=&
  • あなたがすべきない表示数式環境の間には空白行を入れます。そうしないと、余分な空白ができてしまいます。
  • コードを%% ------------------外部ファイルに入れて、見る必要がないようにすることをお勧めします。

コード:

\documentclass[twoside]{article}
\usepackage{amsmath}
\usepackage{relsize}
\usepackage{marginnote}
\usepackage[top=1.5cm, bottom=1.5cm, outer=5cm, inner=2cm, heightrounded, marginparwidth=6.5cm, marginparsep=-2cm]{geometry}

\usepackage{etoolbox}
\usepackage{xcolor}
%% ------------------
%% Following from https://tex.stackexchange.com/questions/89322/inserting-a-line-to-separate-the-text-and-the-margin-note
% patching the OR of LaTeX:
\makeatletter
\patchcmd{\@addmarginpar}%
    {\box \@marbox}%
    {\hbox{%
        \ifmpar@rule@rside
        \hskip-\mparrulefactor\marginparsep\mparrule
        \hskip\mparrulefactor\marginparsep
        \fi
                          \box \@marbox
        \ifmpar@rule@lside
        \hskip\mparrulefactor\marginparsep\mparrule
        \fi}%
     \global\mpar@rule@lsidefalse
     \global\mpar@rule@rsidefalse
    }%
    {\typeout{*** SUCCESS ***}}{\typeout{*** FAIL ***}}

\patchcmd{\@addmarginpar}%
    {\global\setbox\@marbox\box\@currbox}%
    {\global\setbox\@marbox\box\@currbox
     \global\mpar@rule@lsidetrue
     \else
     \global\mpar@rule@rsidetrue
    }%
    {\typeout{*** SUCCESS ***}}{\typeout{*** FAIL ***}}

\newif\ifmpar@rule@lside
\newif\ifmpar@rule@rside
\makeatother

% \mparrule generates the \vrule but should use no space horizontally
% using color is just for fun ...
\newcommand\mparrule{\textcolor{blue}{\hskip-.2pt\vrule\hskip-.2pt}}

% placement factor: .5 places the rule midway in the space made available 
% by \marginparsep
\newcommand\mparrulefactor{.5}
\normalmarginpar
%% ------------------

\begin{document}
Here is an equation:
\marginpar{\begin{align*}
  {n!}&={(n)(n-1)!} \\ 
  {(n+1)!}&={(n+1)(n) (n-1)!} 
\end{align*}%
}%
\begin{align*}
  {\frac{\mathlarger{\prod_{j=0}^{n}(j+1)}}{\mathlarger{‎‎\sum_{i=1}^{n}i}}}&={\frac{(j+1)!}{\frac{n(n+1)}{2}}} \\ 
  {}&={\frac{2(n+1)!}{n(n+1)}} \\
  {}&={\frac{(2)(n+1)(n) (n-1)!}{(n)(n+1)}} \\
  {}&={2(n-1)!} 
\end{align*}
an another one:
\begin{align*}
  {\frac{\mathlarger{\prod_{j=1}^{n}j}}{\mathlarger{‎‎\prod_{i=p+1}^{n-1}i}\cdot \mathlarger{‎‎\prod_{k=1}^{p}k} }}&={    \frac{n!}{? \cdot k!}                                       } \\ 
  {}&={}
\end{align*}
\end{document}

答え2

\parbox[c] の高さは上部から中心までの距離なので、線が本来の 2 倍の大きさのように見えるかもしれませんが、実際はそうではありません。

ところで、最初の \rule で示されているように、余白の注釈は幅が広すぎます。

欄外注記

\documentclass{article}
\usepackage[right=2.5in]{geometry}
\usepackage{mathtools}
\usepackage{marginnote}

\newsavebox{\tempbox}
\newlength{\tempheight}

\begin{document}

\marginnote{\rule{\marginparwidth}{1pt}}

\savebox{\tempbox}{\parbox{\marginparwidth}{% compute height of note
\begin{eqnarray*}
{n!}&=&{(n)(n-1)!} \\ 
{(n+1)!}&=&{(n+1)(n) (n-1)!} 
\end{eqnarray*}
}}%
\settoheight{\tempheight}{\usebox{\tempbox}}%
\marginnote{\hspace{-2pt}\rule[-\tempheight]{.5pt}{2\tempheight}\hspace{1.5pt}% draw line
\usebox{\tempbox}}[2.6cm]

\end{document}

すべてのページに線を入れたい場合は、これを試してください。

\documentclass{article}
\usepackage[right=6cm]{geometry}
\usepackage{everypage}

\setlength{\marginparwidth}{5cm}

\newlength{\headoffset}
\setlength{\headoffset}{\topmargin}
\addtolength{\headoffset}{\headheight}
\addtolength{\headoffset}{\headsep}
\newcommand{\MarginLine}{\raisebox{-\headoffset}[0pt][0pt]{% to top of text area
\hspace{\oddsidemargin}\hspace{\textwidth}% to right margin
\hspace{0.45\marginparsep}\rule[-\textheight]{0.1\marginparsep}{\textheight}}}% center of marginsep
\AddEverypageHook{\MarginLine}

\begin{document}
\noindent\rule{\textwidth}{1pt}%
\marginpar{Margin notes go here}
\end{document}

関連情報