![如何沿图形垂直对齐数学方程式](https://linux22.com/image/456852/%E5%A6%82%E4%BD%95%E6%B2%BF%E5%9B%BE%E5%BD%A2%E5%9E%82%E7%9B%B4%E5%AF%B9%E9%BD%90%E6%95%B0%E5%AD%A6%E6%96%B9%E7%A8%8B%E5%BC%8F.png)
我正在寻找一种可以将方程式与任何几何图形垂直对齐的环境,如以下示例/图形所示:
这是我的方程式代码:
\begin{align*}
&\text{1. }\sin \varphi=\frac{opp}{hyp}
&&\text{4. }\csc \varphi=\frac{h y p}{o p p}
\\\\
&\text{2. }\cos \varphi=\frac{a d j}{hyp}
&&\text{5. }\sec \varphi=\frac{h y p}{a d j}
\\\\
&\text{3. }\tan \varphi=\frac{o p p}{a d j}
&&\text{6. }\cot \varphi=\frac{a d j}{o p p}
\end{align*}
另外,我的图形代码如下:
\begin{tikzpicture}
\draw[very thin] (0,0)--(3,0)--(3,2)--cycle;
\coordinate[label=left:$P$](P) at (0,0);
\coordinate[label=right:$Q$](Q) at (3,0);
\coordinate[label=above:$R$](R) at (3,2);
\tkzLabelSegment[below=2pt](P,Q){$x$}
\tkzLabelSegment[right=2pt](Q,R){$y$}
\tkzLabelSegment[above left=-2pt](P,R){$\sqrt{x^2+y^2}$}
\tkzMarkAngle[size=0.7](P,R,Q)
\tkzLabelAngle[pos=1](Q,P,R){$\varphi$}
\tkzMarkAngle[size=0.8](Q,P,R)
\tkzLabelAngle[pos=1](P,R,Q){$\psi$}
\tkzMarkRightAngle(P,Q,R)
\end{tikzpicture}
答案1
用于aligned
方程式以及baseline
使图片垂直居中的选项。
我使用了一个技巧,将两个部分都向边距推一个 em(因为\hfill
不起作用)。您可以改为\hspace{4em}
在两个部分之间说类似的话。
\documentclass{article}
\usepackage{amsmath}
\usepackage{tkz-euclide}
\usepackage{lipsum} % for mock text
\begin{document}
\lipsum*[1][1-4]
\begin{equation*}
\hspace{1em}
\begin{aligned}
&\text{1. }\sin \varphi=\frac{\mathrm{opp}}{\mathrm{hyp}}
&&\text{4. }\csc \varphi=\frac{\mathrm{hyp}}{\mathrm{opp}}
\\[2ex]
&\text{2. }\cos \varphi=\frac{\mathrm{adj}}{\mathrm{hyp}}
&&\text{5. }\sec \varphi=\frac{\mathrm{hyp}}{\mathrm{adj}}
\\[2ex]
&\text{3. }\tan \varphi=\frac{\mathrm{opp}}{\mathrm{adj}}
&&\text{6. }\cot \varphi=\frac{\mathrm{adj}}{\mathrm{opp}}
\end{aligned}
\hspace{1000pt minus 1fill}
\begin{tikzpicture}[baseline=(current bounding box.center)]
\draw[very thin] (0,0)--(3,0)--(3,2)--cycle;
\coordinate[label=left:$P$](P) at (0,0);
\coordinate[label=right:$Q$](Q) at (3,0);
\coordinate[label=above:$R$](R) at (3,2);
\tkzLabelSegment[below=2pt](P,Q){$x$}
\tkzLabelSegment[right=2pt](Q,R){$y$}
\tkzLabelSegment[above left=-2pt](P,R){$\sqrt{x^2+y^2}$}
\tkzMarkAngle[size=0.7](P,R,Q)
\tkzLabelAngle[pos=1](Q,P,R){$\varphi$}
\tkzMarkAngle[size=0.8](Q,P,R)
\tkzLabelAngle[pos=1](P,R,Q){$\psi$}
\tkzMarkRightAngle(P,Q,R)
\end{tikzpicture}
\quad
\end{equation*}
\lipsum[2]
\end{document}
或者您可能想要使用figure
浮动环境。在这种情况下,您需要一个标题。
\documentclass{article}
\usepackage{amsmath}
\usepackage{tkz-euclide}
\usepackage{lipsum} % for mock text
\begin{document}
\lipsum[1][1-4]
\begin{figure}[htp]
\hspace{1em}
$\begin{aligned}
&\text{1. }\sin \varphi=\frac{\mathrm{opp}}{\mathrm{hyp}}
&&\text{4. }\csc \varphi=\frac{\mathrm{hyp}}{\mathrm{opp}}
\\[2ex]
&\text{2. }\cos \varphi=\frac{\mathrm{adj}}{\mathrm{hyp}}
&&\text{5. }\sec \varphi=\frac{\mathrm{hyp}}{\mathrm{adj}}
\\[2ex]
&\text{3. }\tan \varphi=\frac{\mathrm{opp}}{\mathrm{adj}}
&&\text{6. }\cot \varphi=\frac{\mathrm{adj}}{\mathrm{opp}}
\end{aligned}$\hfill
\begin{tikzpicture}[baseline=(current bounding box.center)]
\draw[very thin] (0,0)--(3,0)--(3,2)--cycle;
\coordinate[label=left:$P$](P) at (0,0);
\coordinate[label=right:$Q$](Q) at (3,0);
\coordinate[label=above:$R$](R) at (3,2);
\tkzLabelSegment[below=2pt](P,Q){$x$}
\tkzLabelSegment[right=2pt](Q,R){$y$}
\tkzLabelSegment[above left=-2pt](P,R){$\sqrt{x^2+y^2}$}
\tkzMarkAngle[size=0.7](P,R,Q)
\tkzLabelAngle[pos=1](Q,P,R){$\varphi$}
\tkzMarkAngle[size=0.8](Q,P,R)
\tkzLabelAngle[pos=1](P,R,Q){$\psi$}
\tkzMarkRightAngle(P,Q,R)
\end{tikzpicture}\quad
\caption{Definition of the trigonometric functions for acute angles}
\end{figure}
\lipsum[2]
\end{document}
答案2
另一个选择是并排使用两个 minipage 环境,如 Keith Reckdahl 撰写的“在 LATEX 和 pdfLATEX 中使用导入的图形”第五部分所述,可在 CTAN 获得(https://ctan.org/tex-archive/info/epslatex/english?lang=en)。