将分数分母左对齐

将分数分母左对齐

突出显示的部分将方程式居中,看起来与顶部方程式不平衡,是否可以将突出显示的部分对齐到左侧?下面是我正在使用的代码。

\begin{equation}~\label{eq:prob1}
p_k(s)=
\begin{cases}
    \displaystyle\frac{c_k-q_k(s)}{c_k- \overline{c_k}} & if\ q_k(s) >  \overline{c_k} \\
    1                                                   & if\ q_k(s) \leq  \overline{c_k}
\end{cases}
\end{equation}

在此处输入图片描述

答案1

您可以使用

\frac{c_k-q_k(s)}{c_k- \overline{c_k}\hfill}

迫使分母向左移动

答案2

\hfill解决方案仅在此特定情况下有效,因为完全相同的项用作分母和分子的第一项。对于更一般的情况,这可能无法提供所需的对齐。例如,如果分子包含w_k和分母c_k,则使用 just\hfill即可提供对齐,如下面的最后一个例子所示。

该解决方案提供了一个\AlignMe具有一个可选参数和两个强制参数的宏:

\AlignMe[<alignment>]{<content to determine space>}{<content to be typeset>}

其中<alignment>可以是通常的单个字母left、center 和right。

下面有几个例子来说明这一点,并与\hfill调整第一个项的对齐方式且减号的对齐方式保持不变的解决方案进行比较:

在此处输入图片描述

笔记:

  • 您应该使用\text{if}而不是,if正如 Hendrik Vogt 所评论的那样。
  • 我个人更喜欢等式 (1)。尽管这会导致分母不相对于连线居中,

代码:

\documentclass{article}
\usepackage{xcolor}
\usepackage{amsmath}
\usepackage{calc}

% Add color here to simplify comparrison of the alignment
\newcommand{\CK}{\textcolor{red}{c_k}}
\newcommand{\CkBar}{\textcolor{blue}{\overline{c_k}}}

\newcommand*{\AlignMe}[3][c]{%
\makebox[\widthof{$#2$}][#1]{$#3$}}%
\begin{document}\noindent
Using \verb|\AlignMe[r]| for first and \verb|\AlignMe[l]| for second term:
\begin{equation}
p_k(s)=
\begin{cases}
    \dfrac{w_k -q_k(s)}{\AlignMe[r]{w_k}{\CK} - \AlignMe[l]{q_k(s)}{\CkBar}} 
            & \text{if } q_k(s)   >   \overline{c_k} \\
       1    & \text{if } q_k(s) \leq  \overline{c_k}
\end{cases}
\end{equation}
%
Using \verb|\AlignMe[r]| and \verb|\hfill|:
\begin{equation}
p_k(s)=
\begin{cases}
    \dfrac{w_k -q_k(s)}{\AlignMe[r]{w_k}{\CK} - \CkBar\hfill} 
            & \text{if } q_k(s)   >   \overline{c_k} \\
       1    & \text{if } q_k(s) \leq  \overline{c_k}
\end{cases}
\end{equation}
%
Using \verb|\AlignMe[r]| for first and \verb|\AlignMe[c]| for second term:
\begin{equation}
p_k(s)=
\begin{cases}
    \dfrac{w_k -q_k(s)}{\AlignMe[r]{w_k}{\CK} - \AlignMe[c]{q_k(s)}{\CkBar}} 
            & \text{if } q_k(s)   >   \overline{c_k} \\
       1    & \text{if } q_k(s) \leq  \overline{c_k}
\end{cases}
\end{equation}
%
For comparrison, using \verb|\hfill|:
\begin{equation}
p_k(s)=
\begin{cases}
    \dfrac{w_k -q_k(s)}{\CK - \CkBar\hfill} 
            & \text{if } q_k(s)   >   \overline{c_k} \\
       1    & \text{if } q_k(s) \leq  \overline{c_k}
\end{cases}
\end{equation}
\end{document}

答案3

在我看来,分数并没有什么不平衡。不过,进行一些小的改进可能会改善其外观。

我发现的主要问题是上划线,它太靠右了。这里有六条建议(选项twocolumn只是为了减少文本宽度)

\documentclass[twocolumn]{article}
\usepackage{amsmath}
\begin{document}
\begin{gather}
\frac{c_k-q_k(s)}{c_k- \overline{c_k}}\\
\frac{c_k-q_k(s)}{c_k- \overline{c_k}\,}\\
\frac{c_k-q_k(s)}{c_k- \overline{c_k\mkern-2mu}\mkern2mu}\\
\frac{c_k-q_k(s)}{c_k- \overline{c_k\mkern-2mu}\mkern2mu\,}\\
\frac{c_k-q_k(s)}{c_k- \mkern1.5mu\overline{\mkern-1.5mu c_k\mkern-2mu}\mkern2mu}\\
\frac{c_k-q_k(s)}{c_k- \mkern1.5mu\overline{\mkern-1.5mu c_k\mkern-2mu}\mkern2mu\,}
\end{gather}
\end{document}

当然,这个技巧\mkern可以隐藏在宏中;\,第二个和第四个示例末尾的将分母稍微向左推。在第五和第六个示例中,左侧的条形悬垂部分也减小了。

在我看来,将分母一直推到左边是错误的。

在此处输入图片描述

答案4

对于我们这些主要使用分数整体水平对齐的人来说,(不太通用的)\fracAlignTop\fracAlignBottom可能会派上用场:

% Numerator alignment
\newcommand{\fracAlignTop}[3][l]{%          align the numerator   according to the width of the denominator
    \frac{%
        \AlignMe[#1]{#3}{#2}%
    }{#3}}%

% Denominator alignment
\newcommand{\fracAlignBottom}[3][l]{%       align the denominator according to the width of the numerator
    \frac{%
        #2}{%
        \AlignMe[#1]{#2}{#3}%
    }}%

... 其中可选参数接受“ left、center 和right 的常见单个字母”。因此,例如:

\fracAlignBottom[l]{c_k-q_k(s)}{c_k- \overline{c_k}}

生产

\fracAlignBottom[l]{c_k-q_k(s)}{c_k- \overline{c_k}}

请注意,这是建立在\AlignMe@Peter Grill (赞,伙计)。尽管如此,我的解决方案回答了原始问题,而且在我看来,它很有用,因为它不太容易出现与输入相关的错误(即\fracAlignTop具有与原始类似的语法\frac)。

相关内容