
각 줄의 주석을 오른쪽 정렬(예: \raggedleft ?)하고 싶습니다. 나는 좋지 않은 \ \ \ \를 사용하고 있습니다. 이 글을 더 잘 쓸 수 있는 방법을 제안해주세요. 분할이나 다른 것을 사용해야합니까?
\begin{align*}
& \ \ \ Opt_\rho (i,j,M)\\
&= \min_{\kappa \in Seg(i,j)} (Cost(\rho, \kappa, M))\\
& \ \ \ \ \ \ \ \ \ \text{[Comment for the line]}\\
&= \min_{1\leq l\leq i} (\min_{\kappa' \in Seg(l,j)} (Cost(\rho,\kappa',M)))\\
& \ \ \ \ \ \ \ \ \ \text{[Comment for another line]} \\
&= \min_{1\leq l\leq i} (\min_{\kappa''[l:i] \in Seg(l,j)} (\max_{\iota'' \in
\kappa''[l:i]} (||Cost(\rho, \iota'')-M||)))\\
& \ \ \ \ \ \ \ \ \ \text{[More Comments]} \\
&= \min_{1\leq l\leq i} (\min_{\kappa''[l:i] \in Seg(l,j)} (\max (\max_{\iota'' \in \kappa''} (||Cost(\rho, \iota'')-M||)), &\\
& \ \ \ ||Cost(\rho,[l:i])-M||))\\
& \ \ \ \ \ \ \ \ \ \text{[This is a long long long long comment]} \\
&= \min_{1\leq l\leq i} (\max (\min_{\kappa'' \in Seg(l,j-1)} (\max_{\iota'' \in \kappa''} (||Cost(\rho, \iota'')-M||))), &\\
& \ \ \ ||Cost(\rho,[l:i])-M||)\\
& \ \ \ \ \ \ \ \ \ \text{[Finally this comment]} \\
\end{align*}
답변1
내 첫 번째 제안은 사용 가능한 최대 너비를 사용하는 환경을 사용 flalign*
하고 주석을 다음 정렬 그룹의 오른쪽 정렬 부분으로 배치하는 것입니다. 대략 다음과 같습니다.
\documentclass[12pt]{article}
\usepackage{amsmath}
\DeclareMathOperator{\Opt}{Opt}
\DeclareMathOperator{\Cost}{Cost}
\DeclareMathOperator{\Seg}{Seg}
\usepackage{mathtools}
\begin{document}
\begin{flalign*}
&\phantom{=\ } \Opt_\rho (i,j,M)\\
&= \min_{\kappa \in \Seg(i,j)} (\Cost(\rho, \kappa, M)) & \text{[Comment for the line]}\\
&= \min_{1\leq l\leq i} (\min_{\kappa' \in \Seg(l,j)} (\Cost(\rho,\kappa',M))) & \text{[Comment for another line]} \\
&= \min_{1\leq l\leq i} (\min_{\kappa''[l:i] \in \Seg(l,j)} (\max_{\iota'' \in
\kappa''[l:i]} (||\Cost(\rho, \iota'')-M||))) & \text{[More Comments]} \\
&= \min_{1\leq l\leq i} (\min_{\kappa''[l:i] \in \Seg(l,j)} (\max (\max_{\iota'' \in \kappa''} (||\Cost(\rho, \iota'')-M||)), &\\
&\phantom{=\ } ||\Cost(\rho,[l:i])-M||)) & \mathllap{\text{[This is a long long long long comment]}} \\
&= \min_{1\leq l\leq i} (\max (\min_{\kappa'' \in \Seg(l,j-1)} (\max_{\iota'' \in \kappa''} (||\Cost(\rho, \iota'')-M||))), &\\
&\phantom{=\ } ||\Cost(\rho,[l:i])-M||) & \text{[Finally this comment]} \\
\end{flalign*}
\end{document}
몇 가지 추가 사항: 주석이 너무 길면 메모의 "열"이 너무 넓어져서 \mathllap
방정식의 일부가 수평으로 겹치도록 허용했습니다. 다행히 적용되는 줄은 그리 길지 않습니다. 그렇다면 해당 주석을 별도의 줄에 넣어야 할 것입니다.
또한 \DeclareMathOperator
수학 모드의 전체 "단어"는 다른 방식으로 처리하지 않는 한 제대로 보이지 않기 때문에 "비용" 및 "옵션"과 같은 항목에 사용하는 것이 좋습니다.
Zarko가 의견에서 언급했듯이 가장 효과적인 방법은 페이지 크기에 따라 다르므로 조정 없이는 실제 사용 사례에서 작동하지 않을 수 있습니다.
답변2
\intertext
나는 내용이 왼쪽으로 비뚤어진 상태 에서 기반으로 솔루션을 제안합니다 .
\documentclass{article}
\usepackage{amsmath}
\DeclareMathOperator{\Cost}{Cost}
\DeclareMathOperator{\Opt}{Opt}
\DeclareMathOperator{\Seg}{Seg}
\begin{document}
\begin{align*}
& \Opt_\rho (i,j,M)\\
& = \min_{\kappa \in \Seg(i,j)} (\Cost(\rho, \kappa, M)) \\[-3ex]
\intertext{\raggedleft [From Eq. \ref{eq:opt}]}
& = \min_{1\leq l\leq i} (\min_{\kappa' \in \Seg(l,j)} (\Cost(\rho,\kappa',M))) \\[-3ex]
\intertext{[\raggedleft From Proposition \ref{prop:minmin}]}
&= \min_{1\leq l\leq i} (\min_{\kappa''[l:i] \in \Seg(l,j)} (\max_{\iota'' \in
\kappa''[l:i]} (\|\Cost(\rho, \iota'')-M\|))) \\[-2.5ex]
\intertext{\raggedleft [Definition of $\Cost(\rho, \kappa''[l:i],M)$]}
& = \min_{1\leq l\leq i} (\min_{\kappa''[l:i] \in \Seg(l,j)} (\max (\max_{\iota'' \in \kappa''} (\|\Cost(\rho, \iota'')-M\|)), \|\Cost(\rho,[l:i])-M\|)) \\[-2.5ex]
\intertext{\raggedleft [Separating the last segment $[l:i]$]}
& = \min_{1\leq l\leq i} (\max (\min_{\kappa'' \in \Seg(l,j-1)} (\max_{\iota'' \in \kappa''} (\|\Cost(\rho,
\iota'')-M\|))), \|\Cost(\rho,[l:i])-M \|) \\[-2.5ex]
\intertext{\raggedleft [From Proposition \ref{prop:minmax}]} \\
\end{align*}
\end{document}
답변3
사용 mathtools
및 linegoal
패키지. 귀하의 방정식이 상당히 넓기 때문에 크기를 geometry
늘리기 위해 패키지를 추가합니다 \textwidth
.
방정식 align*
과 split
환경이 사용됩니다. 긴 댓글은 다음 언어로 작성됩니다 \parbox
.
\documentclass{article}
\usepackage{geometry}
\usepackage{mathtools}
\DeclareMathOperator{\cost}{Cost}
\DeclareMathOperator{\opt}{Opt}
\DeclareMathOperator{\seg}{Seg}
\DeclarePairedDelimiterX{\norm}[1]\lVert\rVert{#1}
\usepackage{linegoal}
\begin{document}
\begin{align*}
\MoveEqLeft
\opt_\rho (i,j,M)
& = \min_{\kappa \in\seg(i,j)} (\cost(\rho, \kappa, M))
&& \text{[From Eq. \ref{eq:opt}]} \\
& = \min_{1\leq l\leq i} (\min_{\kappa' \in \seg(l,j)} (\cost(\rho,\kappa',M)))
&& \text{[From Proposition \ref{prop:minmin}]} \\
& = \min_{1\leq l\leq i} (\min_{\kappa''[l:i] \in Seg(l,j)}
(\max_{\iota'' \in \kappa''[l:i]} (\norm{\cost(\rho, \iota'')-M} )))
&& \text{[Definition of $\cost(\rho, \kappa''[l:i],M)$]} \\
\begin{split}
& = \min_{1\leq l\leq i} (\max (\min_{\kappa'' \in Seg(l,j-1)}
(\max_{\iota'' \in \kappa''}\\
&\qquad (\norm{\cost(\rho, \iota'')-M} ))), \norm{\cost(\rho,[l:i])-M})
\end{split} && \parbox{\linegoal}{\raggedright
[This is a very, very, very long comment in two lines]}
\end{align*}
\end{document}