nccmath affecting minipage widths
It appears that nccmath indeed breaks minipages containing only a math display, setting them to have the width resulting from adding the space on the left of the display and the equation width.
If the minipage contains "paragraph material", its width is correctly set.
Solution: start a minipage that should contain only a display with
\hrule height 0pt width \hsize
Some examples (in the code the \hrule
has a height in order to make it visible)
\documentclass[a4paper,fleqn]{article}
\usepackage{amsmath}
\usepackage{nccmath}% Needed for fleqn environment
\begin{document}
% let's have a "ruler"
\hbox to\hsize{\leaders\hrule\hskip0pt plus 7fill
\kern-.2pt\vrule depth 2pt\kern-.2pt
\leaders\hrule\hskip0pt plus 3fill}
\medskip
Example 1: we put a rule with the desired width
\noindent\begin{minipage}{0.70\columnwidth}
\hrule width \hsize\kern-.4pt
\begin{align*}
y &= x
\end{align*}
\end{minipage}%
\begin{minipage}{0.30\columnwidth}
\hrule
Note: abcd
Where should this go?
\hrule
\end{minipage}
\medskip
Example 2: we don't specify the rule's width
\noindent\begin{minipage}{0.70\columnwidth}
\hrule\kern-.4pt
\begin{align*}
y &= x
\end{align*}
\end{minipage}%
\begin{minipage}{0.30\columnwidth}
\hrule
Note: abcd
Where should this go?
\hrule
\end{minipage}
\medskip
Example 3: text before the display
\noindent\begin{minipage}{0.70\columnwidth}
\hrule\kern-.4pt
Some text before
\begin{align*}
y &= x
\end{align*}
\end{minipage}%
\begin{minipage}{0.30\columnwidth}
\hrule
Note: abcd
Where should this go?
\hrule
\end{minipage}
\medskip
Example 4: text below the display
\noindent\begin{minipage}{0.70\columnwidth}
\hrule\kern-.4pt
\begin{align*}
y &= x
\end{align*}
Some text below
\end{minipage}%
\begin{minipage}{0.30\columnwidth}
\hrule
Note: abcd
Where should this go?
\hrule
\end{minipage}
\end{document}
In the comment within your code I see you need nccmath
for the fleqn
environment. You can define that environment yourself in your preamble without loading nccmath
. You can use the code from that package:
\makeatletter
\newenvironment*{fleqn}[1][\z@]{\@fleqntrue
\setlength\@mathmargin{#1}\ignorespaces
}{%
\ignorespacesafterend
}
\makeatother