wrapfigure 后第一行上的多余空间以及 pspicture 标题未居中

wrapfigure 后第一行上的多余空间以及 pspicture 标题未居中

来自 pstricks 新手的关于以下 MWE 的两个问题:

  1. 为什么图片和第一个\sin\alpha公式之间有一个多余的空格?
  2. 为啥标题卡pspicture在右边?

(添加\par注释掉的功能无效。)

感谢你的帮助!

\documentclass[10pt,letterpaper]{beamer}
\usepackage[utf8]{inputenc}
\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage{amssymb}
\usepackage{pstricks, pst-node}
\usepackage{pst-eucl}
\usepackage{wrapfig}
\usepackage{caption}
\begin{document}

% Compile sequence: F2, F4, F8, F7
\setlength\intextsep{0pt}
\begin{wrapfigure}{l}{0pt}
\pspicture(0,0)(5.5,4.5)
\pstTriangle(0,0){B}(4,3){A}(4,0){C}
\pstMarkAngle{C}{B}{A}{$\alpha$}
\pstMarkAngle{B}{A}{C}{$\beta$}
\pstMarkAngle{A}{C}{B}{$\gamma$}
\pcline[linestyle=none](0,0)(4,3)
\naput[nrot=:U]{c}
\pcline[linestyle=none](0,0)(4,0)
\tbput{a}
\pcline[linestyle=none](4,0)(4,3)
\trput{b}
\endpspicture
\captionof{figure}{Straight triangle}
\end{wrapfigure}
%\par
\[\sin\alpha=\frac{b}{c}\]
\[\cos\alpha=\frac{a}{c}\]
\[\tan\alpha=\frac{b}{a}\]
\[\sin\beta=\frac{a}{c}\]
\[\cos\beta=\frac{b}{c}\]
\[\tan\beta=\frac{a}{b}\]
\end{document}

如果我%\par用下面的内容替换后面的几行,那么第一行的 3 个公式仍然会被推到最右边,第二行会与图片重叠,而 lorem ipsum 会简单地忽略第一页上的图片,但会在接下来的页面上包装不存在的图片。(\usepackage{lipsum}必需。)

\[\sin\alpha=\frac{b}{c}\quad\cos\alpha=\frac{a}{c}\quad\tan\alpha=\frac{b}{a}\]
\[\sin\beta=\frac{a}{c}\quad\cos\beta=\frac{b}{c}\quad\tan\beta=\frac{a}{b}\]
\lipsum
\end{document}

这样可以正确呈现 lorem ipsum,但公式后会有一个新行sin a =

$\sin\alpha=\frac{b}{c}\quad\cos\alpha=\frac{a}{c}\quad\tan\alpha=\frac{b}{a}$\\
$\sin\beta=\frac{a}{c}\quad\cos\beta=\frac{b}{c}\quad\tan\beta=\frac{a}{b}$\\
\lipsum
\end{document}

答案1

你不想要wrapfigure,但是columns的环境beamer

\documentclass[10pt,letterpaper]{beamer}
\usepackage[utf8]{inputenc}
\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage{amssymb}
\usepackage{pstricks, pst-node}
\usepackage{pst-eucl}
\usepackage{caption}
\begin{document}

\begin{frame}
% Compile sequence: F2, F4, F8, F7
\begin{columns}
\begin{column}{.5\textwidth}
\pspicture(0,0)(5.5,4.5)
\pstTriangle(0,0){B}(4,3){A}(4,0){C}
\pstMarkAngle{C}{B}{A}{$\alpha$}
\pstMarkAngle{B}{A}{C}{$\beta$}
\pstMarkAngle{A}{C}{B}{$\gamma$}
\pcline[linestyle=none](0,0)(4,3)
\naput[nrot=:U]{c}
\pcline[linestyle=none](0,0)(4,0)
\tbput{a}
\pcline[linestyle=none](4,0)(4,3)
\trput{b}
\endpspicture
\captionof{figure}{Straight triangle}
\end{column}
\begin{column}{.5\textwidth}
\begin{align*}
\sin\alpha&=\frac{b}{c}\\
\cos\alpha&=\frac{a}{c}\\
\tan\alpha&=\frac{b}{a}\\
\sin\beta&=\frac{a}{c}\\
\cos\beta&=\frac{b}{c}\\
\tan\beta&=\frac{a}{b}
\end{align*}
\end{column}
\end{columns}
\end{frame}
\end{document}

调整相对定位。

在此处输入图片描述

答案2

在这里使用没有任何实际意义wrapfig。使用两个 minipage 更有意义。但是,如果你绝对想使用,wrapfig那么只使用 \[...\]否则,第一个将设置在图形右侧,而其他始终为独立段落的将位于整行的中心。

\documentclass[10pt,letterpaper]{beamer}
\usepackage[utf8]{inputenc}
\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage{amssymb}
\usepackage{pst-node}
\usepackage{pst-eucl}
\usepackage{wrapfig}
\usepackage{caption}
\begin{document}

% Compile sequence: F2, F4, F8, F7
\setlength\intextsep{0pt}
\begin{wrapfigure}{l}{0pt}
\pspicture(0,0)(5.5,4.5)
\pstTriangle(0,0){B}(4,3){A}(4,0){C}
\pstMarkAngle{C}{B}{A}{$\alpha$}
\pstMarkAngle{B}{A}{C}{$\beta$}
\pstMarkAngle{A}{C}{B}{$\gamma$}
\pcline[linestyle=none](0,0)(4,3)
\naput[nrot=:U]{c}
\pcline[linestyle=none](0,0)(4,0)
\tbput{a}
\pcline[linestyle=none](4,0)(4,3)
\trput{b}
\endpspicture
\captionof{figure}{Straight triangle}
\end{wrapfigure}
\arraycolsep=1.4pt\def\arraystretch{1.75}
\[\begin{array}[t]{rl}
\sin\alpha=\dfrac{b}{c}\\
\cos\alpha=\dfrac{a}{c}\\
\tan\alpha=\dfrac{b}{a}\\
\sin\beta=\dfrac{a}{c}\\
\cos\beta=\dfrac{b}{c}\\
\tan\beta=\dfrac{a}{b}
\end{array}\]
\end{document}

在此处输入图片描述

相关内容