我开始使用 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 不会使用有关第二个框顶行的信息。