我在 LaTeX 中的内联方程中使用了\left
和\right
。但是,我发现内联方程无法被破坏。
我的代码:
\documentclass{article}
\usepackage{mhchem}
\usepackage{amsmath}
\usepackage{lipsum}
\begin{document}
fsadjlllllllllllllllllllllllllllllllllllllllllllsafddddddddddddddddddddddddlllllll $\left.(\ce{Mg^2+}-\ce{PO4^2-})\right/\ce{HNO3-}$\par
\lipsum{1-2}
\end{document}
我该怎么做才能打破这个等式?
答案1
就 TeX 的排版方法而言,主要问题是\left
...\right
块的内容形成了一个“数学原子”,它可以绝不線断掉。
第一项任务是更换
$\left.(\ce{Mg^2+}-\ce{PO4^2-})\right/\ce{HNO3-}$
或
$\bigl(\ce{Mg^2+}-\ce{PO4^2-}\bigr)\big/\ce{HNO3-}$
或者更简单地说,
$(\ce{Mg^2+}-\ce{PO4^2-})/\ce{HNO3-}$
以避免创建更薄的原子。
第二个问题是,默认情况下,TeX 不允许在内联数学表达式中的任意位置换行。具体来说,TeX 不允许在-
和+
标记之前立即换行。这可以通过\allowbreak
在 之前直接插入 来解决-\ce{PO4^2-}
。
但是,这仍然不是很好,因为该\ce{Mg^2+}
术语明显突出到右侧边缘。除非您使用 XeLaTeX,否则这个问题最容易解决,方法是加载微型包,可以根据需要调整字符之间的字间距。我添加了“除非你使用 XeLaTeX”,因为microtype
在 pdfLaTeX 和 LuaLaTeX 下效果最好。
\documentclass{article}
\usepackage{mhchem}
\usepackage{lipsum}
%\usepackage{microtype} % uncomment as needed
\begin{document}
fsadjlllllllllllllllllllllllllllllllllllllllllllsafddddddddddddddddddddddddlllllll $\left.(\ce{Mg^2+}-\ce{PO4^2-})\right/\ce{HNO3-}$
Nam dui ligula, fringilla a, euismod sodales, sollicitudin vel, wisi. Morbi auctor lorem non justo. Nam lacus libero, pretium at, lobortis vitae, ultricies et, tellus.
fsadjlllllllllllllllllllllllllllllllllllllllllllsafddddddddddddddddddddddddlllllll $(\ce{Mg^2+}-\ce{PO4^2-})/\ce{HNO3-}$
Nam dui ligula, fringilla a, euismod sodales, sollicitudin vel, wisi. Morbi auctor lorem non justo. Nam lacus libero, pretium at, lobortis vitae, ultricies et, tellus.
fsadjlllllllllllllllllllllllllllllllllllllllllllsafddddddddddddddddddddddddlllllll $(\ce{Mg^2+}\allowbreak-\ce{PO4^2-})/\ce{HNO3-}$
Nam dui ligula, fringilla a, euismod sodales, sollicitudin vel, wisi. Morbi auctor lorem non justo. Nam lacus libero, pretium at, lobortis vitae, ultricies et, tellus.
\end{document}