对于浮动元素,使用 vbox 代替 figure 可以吗?

对于浮动元素,使用 vbox 代替 figure 可以吗?

我开始使用 vbox 而不是 figure 命令来绘制 tikz 图形,并且对于我不想出现在下一页的文本,如下所示:

\documentclass[oneside, pdftex, a4paper, 12pt]{scrbook}
\usepackage[left = 3cm, right = 3cm, top=3cm, bottom = 3cm]{geometry}
\usepackage{tikz}
\usepackage{float}
\usepackage[section]{placeins}
\usepackage{pgfplots}
\pgfplotsset{compat=1.11}
\usepackage{tkz-euclide}
\usetkzobj{all}
\usepackage[makeroom]{cancel}
\usepackage{enumerate}
\usepackage{microtype}
\usepackage{alltt}
\usepackage[utf8x]{inputenc}
\usepackage{lscape}
\usepackage{flafter}
\usepackage{fourier}
\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage{amssymb}
\usepackage{lineno}
\usepackage[doublespacing]{setspace}
%\linespread{1.5}
\setcounter{secnumdepth}{-1}
\makeatletter
\renewcommand\paragraph{\@startsection{paragraph}{4}{\z@}%
                                    {-3.25ex \@plus-1ex \@minus-.2ex}%
                                    {0.5ex \@plus0.2ex}%
                                    {\normalfont\large\bfseries}}
\renewcommand*{\chapterheadstartvskip}{\vspace*{-\topskip}}
\makeatother
\title  {Mathematics 1\\Assignment 3}
\begin{document}
\frontmatter
\maketitle
\tableofcontents
\mainmatter
\chapter{Assignment 3}
\subsection{1a i) Find the area of $\triangle$ PQR, giving your answer to 3 significant figures}
\bigskip
\vbox{
\centering
\begin{tikzpicture}
    \tkzDefPoint(0,0){P}
    \tkzDefPoint(4,0){R}
    \tkzDefPoint(2.8,2){Q}
    \tkzDefPoint(1,0){angA}
    \tkzDefPoint(2.8,0){S}
%     \tkzDefPointBy[rotation=center P angle 35](R)
%     \tkzGetPoint{Q}
    \tkzDefPointBy[rotation=center P angle 35](angA)
    \tkzGetPoint{angB}
    \tkzDrawLines[add = 0 and 0](P,R)
    \tkzDrawLines[add = 0 and 0](P,Q)
    \tkzDrawLines[add = 0 and 0](R,Q)
    \tkzDrawSegment[dotted](Q,S)
    \tkzMarkRightAngle(P,S,Q)
    \tkzDrawArc(P,angA)(angB)
    \tkzLabelPoints(P,R,S)
    \tkzLabelPoints[right](Q)
    \tkzLabelLine[below](P,R) {8 cm}
    \tkzLabelLine[midway,sloped,above](P,Q) {7 cm}
    \tkzLabelAngle[right](angA,P,angB) {$30^\circ$}
\end{tikzpicture}
}
\bigskip
\parindent=0
\vbox{
    To find the area we use formula for right triangles:\\ 
    \begin{align*}
        \mbox{Area}&=\frac{1}{2}(PQ)(QS)\\
        \mbox{Area}&=\frac{1}{2}(8)(QS) \\
    \end{align*}
}
\vbox {
    But first we need to find QS using the sine operator:\\
    \begin{align*}
        sin30^\circ&=\frac{QS}{7}\\
        QS&=(sin30^\circ)7\\
        QS&=3.5\mbox{cm}
    \end{align*}
}
\vbox {
Now that we found QS we apply the area formula for a right triangle:\\
    \begin{align*}
        \mbox{Area}&=\frac{1}{2}(8)(3.5)\\
        \mbox{Area}&=\frac{1}{2}(8)(3.5)\\
        \mbox{Result: Area}&=\underline{14.0\mbox{cm}^2}
    \end{align*} 
}

基本上 vbox 是一个原始的 TeX 命令,我想知道是否可以以这种方式使用它。

答案1

不要使用\vbox(Latex 文档中的任何地方),也不要\\在对齐之外使用,因为这样 les:\\您将删除显示器周围的所有柔性胶水,并使元素之间的间距不一致。在两个 vbox 之间获得良好的间距非常棘手,因为它们将参考点对齐在底行的基线上,隐藏所有其他结构。通常,如果第一段的底行有降部,第二段的顶行有高字符,则两个段落之间的间距会自动调整,但如果它们在 vbox 中,tex 不会使用有关第二个框顶行的信息。

相关内容