我正在编写一个文档,其中包含几个冗长的数学表达式、必须相邻的表格和大型算法。使用的文档类是“book”。尽管尝试使用“geometry”包多次更改边距,但我无法找到适用于整个文档的通用解决方案。要么我发现散乱的文本中有不利的空白,要么方程式超出段落,要么表格/图形/算法位置不正确。我已经尝试过类似
\newgeometry{margin = 2cm}
% Some text/figure goes here
\restoregeometry
这是一个最小工作示例:
\documentclass[11pt]{book}
\usepackage[utf8]{inputenc}
\usepackage{lipsum}
\usepackage[table]{xcolor} % Modern color package (used for text and tables)
\begin{document}
\chapter{Introduction}
\lipsum
\begin{table}[H]
\begin{center}
\begin{tabular}{|c|c|c|c|c|c|}
\hline
1 & 2 & 3 & 4 & 5 & 6 \\
\hline
7 & 8 & 9 & 10 & 11 & 12 \\
\hline
13 & 14 & 15 & 16 & 17 & 18 \\
\hline
19 & 20 & 21 & 22 & 23 & \cellcolor{green!25}24 \\
\hline
25 & 26 & 27 & 28 & 29 & 30 \\
\hline
31 & 32 & 33 & 34 & 35 & 36\\
\hline
\end{tabular}
$\Longrightarrow$
\begin{tabular}{|c|c|c|c|c|c|}
\hline
1 & 2 & 3 & $2 \cdot 2$ & 5 & $2 \cdot 3$ \\
\hline
7 & $2 \cdot 2 \cdot 2$ & $3 \cdot 3$ & $2 \cdot 5$ & 11 & $2 \cdot 2 \cdot 3$ \\
\hline
13 & $2 \cdot 7$ & $3 \cdot 5$ & $2 \cdot 2 \cdot 2 \cdot 2$ & 17 & $2 \cdot 3 \cdot 3$ \\
\hline
19 & $2 \cdot 2 \cdot 5$ & $3 \cdot 7$ & $2 \cdot 11$ & 23 & \cellcolor{green!25} $2 \cdot 2 \cdot 2 \cdot 3$ \\
\hline
25 & $2 \cdot 13$ & $3 \cdot 9$ & $2 \cdot 2 \cdot 7$ & 29 & $2 \cdot 3 \cdot 5$ \\
\hline
31 & $2 \cdot 2 \cdot 2 \cdot 4$ & $3 \cdot 11$ & $2 \cdot 17$ & 35 & $2 \cdot 2 \cdot 2 \cdot 3 \cdot 3$\\
\hline
\end{tabular} \par
\bigskip
\caption{Example of factoring using sieving by $p = 2$ three times, then by $p = 3$.\label{Table:FactoringBySieving}}
\end{center}
\end{table}
\section{Historical background}
\lipsum
\end{document}
有什么建议么?
答案1
我无法解决您提到的其他问题,但对于您在(不那么)最小工作示例中嵌入的表格,发出\setlength\tabcolsep{2.5pt}
after\begin{table}
和 before命令\centering
将确保两个表格环境可以并排排版。(的默认值\tabcolsep
是6pt
;我认为没有理由保留默认值。)
事实上,由于表格中包含了相当多需要数学环境的表达式,我建议您使用array
环境而不是tabular
环境——并发出命令\setlength\arraycolsep{2.5pt}
来减少列间空格的数量。这将使您不必输入大量$
符号。
\documentclass[11pt]{book}
\usepackage[utf8]{inputenc}
\usepackage[table]{xcolor}
\begin{document}
\begin{table}
\setlength\arraycolsep{2.5pt}
\centering
$\begin{array}{|c|c|c|c|c|c|}
\hline
1 & 2 & 3 & 4 & 5 & 6 \\
\hline
7 & 8 & 9 & 10 & 11 & 12 \\
\hline
13 & 14 & 15 & 16 & 17 & 18 \\
\hline
19 & 20 & 21 & 22 & 23 & \cellcolor{green!25}24 \\
\hline
25 & 26 & 27 & 28 & 29 & 30 \\
\hline
31 & 32 & 33 & 34 & 35 & 36\\
\hline
\end{array}
\Longrightarrow
\begin{array}{|c|c|c|c|c|c|}
\hline
1 & 2 & 3 & 2 \cdot 2 & 5 & 2 \cdot 3 \\
\hline
7 & 2 \cdot 2 \cdot 2 & 3 \cdot 3 & 2 \cdot 5 & 11 & 2 \cdot 2 \cdot 3 \\
\hline
13 & 2 \cdot 7 & 3 \cdot 5 & 2 \cdot 2 \cdot 2 \cdot 2 & 17 & 2 \cdot 3 \cdot 3 \\
\hline
19 & 2 \cdot 2 \cdot 5 & 3 \cdot 7 & 2 \cdot 11 & 23 & \cellcolor{green!25} 2 \cdot 2 \cdot 2 \cdot 3 \\
\hline
25 & 2 \cdot 13 & 3 \cdot 9 & 2 \cdot 2 \cdot 7 & 29 & 2 \cdot 3 \cdot 5 \\
\hline
31 & 2 \cdot 2 \cdot 2 \cdot 4 & 3 \cdot 11 & 2 \cdot 17 & 35 & 2 \cdot 2 \cdot 2 \cdot 3 \cdot 3 \\
\hline
\end{array}$
\caption{Example of factoring using sieving by $p = 2$ three times, then by $p = 3$.\label{Table:FactoringBySieving}}
\end{table}
\end{document}