我在两栏文章的中间有一个很长的表格。
如果表格不够长,它会出现在相对于我需要的位置的位置。但是当表格很长并且固定在一页中时,它会移动到文档的最末尾。我的问题是:如何让表格停留在文档中间,而不是文档末尾?
\documentclass[twoside,twocolumn,12pt,a4paper]{article}
\usepackage{microtype}
\usepackage[bahasa]{babel}
\usepackage[left=3.00cm, right=2.00cm, top=2.50cm, bottom=2.50cm,columnsep=0.5cm]{geometry}
\usepackage[hang,small,labelfont=bf,up,textfont=it,up]{caption}
\hyphenation{ber-da-sar-kan peng-a-mat-an spon-tan di-se-but-kan
mau-pun mem-per-li-hat-kan di-mak-sud-kan me-wa-kil-i me-nun-juk-kan pe-ra-ga
di-tam-bah-kan me-nga-ta-kan}
\usepackage{booktabs}
\usepackage{multirow}
\usepackage{amssymb}
\usepackage{amsmath}
\usepackage{graphicx}
\usepackage{makeidx}
\usepackage{microtype}
\usepackage{hyperref}
\usepackage{sectsty}
\usepackage{abstract}
\usepackage{tabularx}
\usepackage{makecell}
\usepackage{float}
\usepackage{titlesec}
\usepackage{xpatch}
\usepackage{hyphenat}
\usepackage{lipsum}
\usepackage{etoolbox}
\begin{document}
\lipsum
\begin{table*}[!htbp]
%{table*}[h!]
\caption{Persepsi Guru Mengenai Penyebab Epistemologis.}
\begin{tabularx}{\linewidth}{XX}
\toprule %
\thead{Sub Kategori} & \thead{Jawaban Guru}\\
\cmidrule[\lightrulewidth](lr){1-2}
\begin{enumerate}
\item Sifat abstrak konsep matematika
\item Kehirarkian Konsep Matematika
\end{enumerate} & \begin{itemize}%
\item Matematika itu merupakan mata pelajaran yang sangat membingungkan buat mereka
\item Materi trigonometri merupakan materi baru bagi siswa, sehingga sulit untuk memahami konsepnya
\item Trigonometri merupakan materi yang sulit
\item Terlalu banyak rumus-rumus dan materi trigonometri yang terlalu luas
\item Materi trigonometri memang materi yang susah
\item Trigonometri merupakan pelajaran yang asing bagi siswa
\end{itemize}\\
\bottomrule
\end{tabularx}
\end{table*}
\lipsum
\begin{table*}[ht]
\caption{Persepsi Guru Mengenai Penyebab Epistemologis}
\begin{tabularx}{\textwidth}{XX}
\toprule %
\thead{Sub Kategori} & \thead{Jawaban Guru}\\%
\cmidrule[\lightrulewidth](lr){1-2}
%>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
\vspace{-1.7em}
\begin{itemize}
\item Pengetahuan awal
\end{itemize} &
\vspace{-1.7em}
\begin{enumerate}%
\item Kurang pengetahuan dasar tentang Trigonometri
\item Pengetahuan awal yang kurang (SD dan SMP)
\item Pengetahuan tentang ilmu ukur sudut kurang
\item Siswa tidak bisa/lupa dengan rumus Phytagoras yang menjadi dasar
\item Dasar matematika sangat kurang
\item Pengetahuan awalnya tidak ada
\end{enumerate}\\%
\vspace{-2.5em}% edit: inserted missing }
\begin{itemize}
\item Sikap negatif terhadap pelajaran matematika
\end{itemize} &
\vspace{-2.5em}
\begin{enumerate}%
\item Matematika dianggap sebagai momok
\item Siswa sudah menganggap trigonometri susah
\end{enumerate}\\%
%\hline
\vspace{-2.5em}
\begin{itemize}
\item Rendahnya minat dan motivasi
\end{itemize} &
\vspace{-2.5em}
\begin{enumerate}%
\item Minat belajar terhadap mata pelajaran matematika kurang
\item Malas Belajar
\item Siswa tidak mengetahui apa tujuan belajar trigonometri
\end{enumerate}\\%
\vspace{-2.5em}
\begin{itemize}
\item Kurangnya kecerdasan
\end{itemize} &
\vspace{-2.5em}
\begin{enumerate}%
\item Siswa tidak menguasai materi-materi penting dalam trigonometri
\item Sangat lamban pada operasi hitung
\end{enumerate}\\%
\vspace{-2.5em}
\begin{itemize}
\item Kurangnya percaya diri
\end{itemize} &
\vspace{-2.5em}
\begin{enumerate}%
\item -
\end{enumerate}\\%
\vspace{-2.5em}
\begin{itemize}
\item Tidak menyukai matematika atau topiknya
\end{itemize} &
\vspace{-2.5em}
\begin{enumerate}%
\item -
\end{enumerate}\\%
\bottomrule
\end{tabularx}
\end{table*}
\begin{table*}[ht]
\caption{Persepsi Guru Mengenai Penyebab Epistemologis}
\begin{tabularx}{\linewidth}{XX}
\toprule %
\thead{Sub Kategori} & \thead{Jawaban Guru}\\%
\cmidrule[\lightrulewidth](lr){1-2}
\vspace{-1.7em}
\begin{itemize}
\item Kurangnya pemahaman konsep
\end{itemize} &
\vspace{-1.7em}
\begin{enumerate}%
\item Siswa bingung membedakan rumus yang digunakan untuk mencari perbandingan pada trigonometri (mencari sinus, kosinus, dll)
\item Kurangnya pemahaman siswa tentang materi yang berkaitan dengan trigonometri
\item Siswa bingung menerapkan konsep trigonometri di kehidupan sehari-hari
\item Siswa hanya tahu mengerjakan soal Phytagoras sesuai dengan rumus umum
\end{enumerate}\\%
\vspace{-2.5em}
\begin{itemize}
\item Kurangnnya usaha
\end{itemize} &
\vspace{-2.5em}
\begin{enumerate}%
\item -
\end{enumerate}\\
\bottomrule
\end{tabularx}
\end{table*}
\lipsum
\end{document}
答案1
正如我在评论中提到的:
- 你的例子远远不够简单
- 它包含错误,无法编译
- 浮动图形*总是出现在下一页的顶部,并且大卫·卡莱尔在他的评论中强调
table*
仅支持t
,p
因此您的第一个表与第二个表\begin{table*}[!htbp]
相同,这使得转到末尾非常有可能,因为您已停止使用它并转到浮动页面\begin{table*}[!tp]
\begin{table*}[ht]
\begin{table*}[t]
p
figure*
无法拆分为两页或多页- 软件包
hyperref
必须在序言中最后加载, - 对于表格的编写,请参阅答案如果能帮助你
编辑:
使用包时,可以使用stfloats
浮动选项b
。使用此选项,图像可以出现在插入的同一页上(如果有足够的空间)。同时使用sectsty
和也titlesec
很脆弱。您需要重新考虑是否真的需要它们中的一个。在下面的 MWE 中,我都注释掉了。同样,使用包float
和浮动放置选项也是如此H
。避免使用它们!相反,我在修订后的 MWE 中使用了它stfloat
(如建议的那样伯纳德在下面的评论中)。
考虑到上述情况,您的 MWE 变为:
\documentclass[twoside,twocolumn,12pt,a4paper]{article}
\usepackage{microtype}
\usepackage[bahasa]{babel}
\usepackage[left=3.0cm, right=2.0cm, top=2.5cm, bottom=2.5cm, columnsep=0.5cm]{geometry}
\usepackage{hyphenat}
\hyphenation{ber-da-sar-kan peng-a-mat-an spon-tan di-se-but-kan
mau-pun mem-per-li-hat-kan di-mak-sud-kan me-wa-kil-i me-nun-juk-kan pe-ra-ga
di-tam-bah-kan me-nga-ta-kan}
\usepackage{amsmath, amssymb}
\usepackage[hang,small,labelfont=bf,up,textfont=it,up]{caption}
\usepackage{graphicx}
\usepackage{stfloats} % <-- changed from `float`
\usepackage{makeidx}
\usepackage{microtype}
\usepackage{abstract}
%\usepackage{sectsty}
%\usepackage{titlesec}
\usepackage{xpatch}
\usepackage{lipsum}
\usepackage{etoolbox}
\usepackage{booktabs, makecell, multirow, tabularx}
\usepackage{ragged2e} % new, for better formatting of columns contents
\newcolumntype{L}{>{\RaggedRight}X} % new columns style
\usepackage{enumitem} % for nice lists in tables
\newlist{tabitem}{itemize}{1} % <-- defined new itemize list
\setlist[tabitem]{nosep, % <-- new list setup
topsep = 0pt ,
partopsep = 0pt ,
leftmargin = * ,
label = $\bullet$ ,
before = \vspace{-0.5\baselineskip},
after = \vspace{-\baselineskip}
}
\newlist{tabenum}{enumerate}{1}% <-- defined new enumerate list
\setlist[tabenum]{nosep, % <-- new list setup
topsep = 0pt ,
partopsep = 0pt ,
leftmargin = * ,
label* =\arabic*.,
before = \vspace{-0.5\baselineskip},
after = \vspace{-\baselineskip}
}
\usepackage{hyperref}
\begin{document}
\lipsum[1-5]
\begin{table*}[b] % this table is at bottom of the same page now
\caption{Persepsi Guru Mengenai Penyebab Epistemologis.}
\begin{tabularx}{\linewidth}{@{} LL @{}}
\toprule %
\thead{Sub Kategori} & \thead{Jawaban Guru}\\
\midrule
\begin{tabenum}
\item Sifat abstrak konsep matematika
\item Kehirarkian Konsep Matematika
\end{tabenum} & \begin{tabitem}%
\item Matematika itu merupakan mata pelajaran yang sangat membingungkan buat mereka
\item Materi trigonometri merupakan materi baru bagi siswa, sehingga sulit untuk memahami konsepnya
\item Trigonometri merupakan materi yang sulit
\item Terlalu banyak rumus-rumus dan materi trigonometri yang terlalu luas
\item Materi trigonometri memang materi yang susah
\item Trigonometri merupakan pelajaran yang asing bagi siswa
\end{tabitem}\\
\bottomrule
\end{tabularx}
\end{table*}
\lipsum
\begin{table*}
\caption{Persepsi Guru Mengenai Penyebab Epistemologis}
\begin{tabularx}{\textwidth}{@{} LL @{}}
\toprule %
\thead{Sub Kategori} & \thead{Jawaban Guru}\\%
\midrule
\begin{tabitem}
\item Pengetahuan awal
\end{tabitem} &
\begin{tabenum}%
\item Kurang pengetahuan dasar tentang Trigonometri
\item Pengetahuan awal yang kurang (SD dan SMP)
\item Pengetahuan tentang ilmu ukur sudut kurang
\item Siswa tidak bisa/lupa dengan rumus Phytagoras yang menjadi dasar
\item Dasar matematika sangat kurang
\item Pengetahuan awalnya tidak ada
\end{tabenum}\\%
\begin{tabitem}
\item Sikap negatif terhadap pelajaran matematika
\end{tabitem} &
\begin{tabenum}%
\item Matematika dianggap sebagai momok
\item Siswa sudah menganggap trigonometri susah
\end{tabenum}\\%
\begin{tabitem}
\item Rendahnya minat dan motivasi
\end{tabitem} &
\begin{tabenum}%
\item Minat belajar terhadap mata pelajaran matematika kurang
\item Malas Belajar
\item Siswa tidak mengetahui apa tujuan belajar trigonometri
\end{tabenum}\\%
\begin{tabitem}
\item Kurangnya kecerdasan
\end{tabitem} &
\begin{tabenum}%
\item Siswa tidak menguasai materi-materi penting dalam trigonometri
\item Sangat lamban pada operasi hitung
\end{tabenum}\\%
\begin{tabitem}
\item Kurangnya percaya diri
\end{tabitem} &
\begin{tabenum}%
\item -
\end{tabenum}\\%
\begin{tabitem}
\item Tidak menyukai matematika atau topiknya
\end{tabitem} &
\begin{tabenum}%
\item -
\end{tabenum}\\%
\bottomrule
\end{tabularx}
\end{table*}
\begin{table*}
\caption{Persepsi Guru Mengenai Penyebab Epistemologis}
\begin{tabularx}{\linewidth}{@{} LL @{}}
\toprule %
\thead{Sub Kategori} & \thead{Jawaban Guru}\\%
\midrule
\begin{tabitem}
\item Kurangnya pemahaman konsep
\end{tabitem} &
\begin{tabenum}%
\item Siswa bingung membedakan rumus yang digunakan untuk mencari perbandingan pada trigonometri (mencari sinus, kosinus, dll)
\item Kurangnya pemahaman siswa tentang materi yang berkaitan dengan trigonometri
\item Siswa bingung menerapkan konsep trigonometri di kehidupan sehari-hari
\item Siswa hanya tahu mengerjakan soal Phytagoras sesuai dengan rumus umum
\end{tabenum}\\%
\begin{tabitem}
\item Kurangnnya usaha
\end{tabitem} &
\begin{tabenum}%
\item -
\end{tabenum}\\
\bottomrule
\end{tabularx}
\end{table*}
\lipsum
\end{document}
编辑(2):
如您所见,上面的 MWE 未使用itemize
和enumerate
环境来列出表中的列表。此外,还删除了其中所有对\vspace{...}
您的表没有影响并因此多余的内容。所有这些都被替换为两个新列表:tabitem
和,tabenum
它们分别基于包enumitem
并在序言中定义为:
\usepackage{enumitem} % for nice lists in tables
\newlist{tabitem}{itemize}{1} % <-- defined new itemize list
\setlist[tabitem]{nosep, % <-- new list setup
topsep = 0pt ,
partopsep = 0pt ,
leftmargin = * ,
label = $\bullet$ ,
before = \vspace{-0.5\baselineskip},
after = \vspace{-\baselineskip}
}
\newlist{tabenum}{enumerate}{1}% <-- defined new enumerate list
\setlist[tabenum]{nosep, % <-- new list setup
topsep = 0pt ,
partopsep = 0pt ,
leftmargin = * ,
label* =\arabic*.,
before = \vspace{-0.5\baselineskip},
after = \vspace{-\baselineskip}
}
上述两个列表都减少了列表前后以及列表项之间的垂直空间。这样表格就变得更紧凑,占用的页面空间也更少。