![我们如何修复 (La)TeX 数学编码以使其左对齐](https://linux22.com/image/312195/%E6%88%91%E4%BB%AC%E5%A6%82%E4%BD%95%E4%BF%AE%E5%A4%8D%20(La)TeX%20%E6%95%B0%E5%AD%A6%E7%BC%96%E7%A0%81%E4%BB%A5%E4%BD%BF%E5%85%B6%E5%B7%A6%E5%AF%B9%E9%BD%90.png)
在显示数学中(使用$$...$$
),内容通常会居中对齐。但是,我需要它左对齐。有什么建议吗?
例子
$$f(x) = \frac{{{{\sin }^2}x{\mkern 1mu} \cos x}}{{\sin x + \cos x}} -
\frac{1}{4}\tan (\frac{\pi }{4} - x){\mkern 1mu} {\mkern 1mu}
\forall {\mkern 1mu} x \in R - \{ n\pi - \frac{\pi }{4}\} ,n \in I$$
答案1
是fleqn
你在寻找的东西吗?(顺便说一句,我以更清晰的方式重写了代码,至少对我来说)
\documentclass[fleqn]{scrartcl}
\usepackage{mathtools,amssymb}
\usepackage{kantlipsum} % Just for this example (the \kant command)
\begin{document}
\kant*[1]
\[
f(x) = \frac{\sin^2 x \cos x}{\sin x + \cos x}
- \frac{1}{4} \tan\Bigl(\frac{\pi}{4} - x\Bigr)
\quad
\forall x \in R \setminus \Bigl\{ n\pi - \frac{\pi}{4} \Bigr\}, \ n \in I
\]
\kant*[2]
\end{document}
答案2
不要使用
$$
,它是纯 TeX 语法并且不具备灵活性,例如,将方程式自动移动到左边。不要使用
$$
,...不要使用
$$
,...
的格式$$
在 TeX 中是硬编码的,因此要改变其自动左对齐的行为,需要改变 TeX 的源代码。
使用额外的 TeX 代码,也$$...$$
可以左对齐,但首先使用正确的标记会更干净,其中像fleqn
刚才那样的选项就可以起作用。
A. 包装varwidth
。环境varwidth
将其内容放入minipage
解包中,并将内容缩小到所需的最大宽度:
\documentclass{article}
\usepackage{dsfont}
\usepackage{varwidth}
\usepackage{lipsum}
\begin{document}
\lipsum[101]
\noindent
\begin{varwidth}{\linewidth}
$$
f(x) = \frac{\sin^2x \, \cos x}{\sin x + \cos x} -
\frac{1}{4}\tan (\frac{\pi }{4} - x)
\quad\forall x \in\mathds{R}
\setminus \left\{ n\pi - \frac{\pi}{4}, n\pi + \frac{\pi}{2} \right\}, n \in \mathds{I}
$$
\end{varwidth}
\end{document}
垂直间距需要一些手动修复。
B. 如果方程式以胶水开头,那么 TeX 会尊重这个胶水设置,假设用户知道他在使用什么。
\documentclass{article}
\usepackage{dsfont}
\usepackage{varwidth}
\usepackage{lipsum}
\begin{document}
\lipsum*[101]
$$
\hspace{0pt minus \linewidth}
f(x) = \frac{\sin^2x \, \cos x}{\sin x + \cos x} -
\frac{1}{4}\tan (\frac{\pi }{4} - x)
\quad\forall x \in\mathds{R}
\setminus \left\{ n\pi - \frac{\pi}{4}, n\pi + \frac{\pi}{2} \right\}, n \in \mathds{I}
\hspace{\linewidth minus -1fil}
$$
\end{document}
这个技巧基于第二个\hspace
,\linewidth
这会强制方程溢出。然后 TeX 将贡献收缩部分,将第一个 移至左侧,并用第二个\hspace
填充右侧。minus -1fil
\hspace