我正在写一个两列日志,其中列出了一个向量的组成部分。这个向量太长,无法放在一列中,我在向量的括号周围使用了\left
and 。但是环境不会自动将向量分成两行。代码如下\right
dmath
\begin{dmath}
\left(\frac{-(n-1)}{2}h_{12}l,\ldots,\frac{-3}{2}h_{12}l,\frac{-1}{2}h_{12}l, \frac{1}{2}h_{12}l,\frac{3}{2}h_{12}l,
\ldots,\frac{n-1}{2}h_{12}l\right). \label{eq:x2}
\end{dmath}
输出如下
有人知道如何纠正这个问题吗?
编辑:我的文档的序言如下
\documentclass[journal]{IEEEtran}
\usepackage{cite}
\ifCLASSINFOpdf
\usepackage[pdftex]{graphicx}
% declare the path(s) where your graphic files are
\graphicspath{{../figs/}}
\else
\usepackage[dvips]{graphicx}
% declare the path(s) where your graphic files are
\graphicspath{{../figs/}}
\fi
% *** MATH PACKAGES ***
\usepackage[cmex10]{amsmath}
\interdisplaylinepenalty=2500
\usepackage[caption=false,font=footnotesize]{subfig}
\usepackage{url}
\usepackage{breqn}
\hyphenation{op-tical net-works semi-conduc-tor}
\begin{document}
\section{Some Random Section}
\begin{dmath}
\left(\frac{-(n-1)}{2}h_{12}l,\ldots,\frac{-3}{2}h_{12}l,\frac{-1}{2}h_{12}l, \frac{1}{2}h_{12}l,\frac{3}{2}h_{12}l,
\ldots,\frac{n-1}{2}h_{12}l\right). \label{eq:x2}
\end{dmath}
\end{document}
希望这有帮助!
答案1
breqn
逗号和普通原子后不会中断,因此您的公式没有可行的断点。您必须帮助breqn
告诉它,在这种情况下,允许在逗号处中断。
\documentclass{article}
\textwidth=.7\textwidth % just to show the result
\newcommand{\breakingcomma}{%
\begingroup\lccode`~=`,
\lowercase{\endgroup\expandafter\def\expandafter~\expandafter{~\penalty0 }}}
\usepackage{breqn}
\begin{document}
\begin{dmath}\breakingcomma
\left(\frac{-(n-1)}{2}h_{12}l,\ldots,\frac{-3}{2}h_{12}l,
\frac{-1}{2}h_{12}l, \frac{1}{2}h_{12}l,\frac{3}{2}h_{12}l,
\ldots,\frac{n-1}{2}h_{12}l\right). \label{eq:x2}
\end{dmath}
\end{document}
我不会让这个改变永久生效:这会在不合适的地方破坏其他公式。
答案2
如果你使用+
而不是,
它就会起作用,因此这只会使逗号像加号一样工作。笔记这也使得,
具有像这样的二元运算符的间距+
。
我怀疑它不太像是官方breqn
界面,但是......
\documentclass{article}
\usepackage{breqn}
\textwidth.5\textwidth
\begin{document}
{\catcode`+\active
\def\foo#1#2#3#4#5{%
\def\tmp{#1,#3#4{2C}}}
\expandafter\foo+
\catcode`,\active
\global\let,\tmp
}
\noindent X\dotfill X
\begin{dmath}
\left(\frac{-(n-1)}{2}h_{12}l,\ldots,\frac{-3}{2}h_{12}l,\frac{-1}{2}h_{12}l, \frac{1}{2}h_{12}l,\frac{3}{2}h_{12}l,
\ldots,\frac{n-1}{2}h_{12}l\right) \label{eq:x2}
\end{dmath}
\noindent X\dotfill X
\end{document}
正如聊天中的 @egreg 指出的那样,不需要花哨的重新定义,而更好的解决方案是不需要全局将逗号重新定义为二元运算符,而只是明确地允许在某些(或所有)逗号后中断:
\begin{dmath}
\left(\frac{-(n-1)}{2}h_{12}l,\penalty0 \ldots,\penalty0 \frac{-3}{2}h_{12}l,\penalty0 \frac{-1}{2}h_{12}l,\penalty0 \frac{1}{2}h_{12}l,\penalty0 \frac{3}{2}h_{12}l,\penalty0
\ldots,\penalty0 \frac{n-1}{2}h_{12}l\right) \label{eq:x2}
\end{dmath}