关于长表的问题

关于长表的问题

我有以下代码:

\documentclass{harvard-thesis}

\newenvironment{bottompar}{\par\vspace*{\fill}}{\clearpage}
\newcommand*\0[1]{{\large#1}}
\newenvironment{psmallmatrix}
{\left(\begin{smallmatrix}}
    {\end{smallmatrix}\right)}
\usepackage{ragged2e}
\usepackage{enumerate}
\usepackage{stackengine}


\usepackage{amsthm}
\usepackage{amssymb}
\makeatletter % undo the wrong changes made by mathspec
\let\RequirePackage\original@RequirePackage
\let\usepackage\RequirePackage
\makeatother

\usepackage[titletoc]{appendix}
\usepackage{multicol}
\usepackage{multirow}
\usepackage{booktabs}
\usepackage{textcomp}
\usepackage{relsize}
\usepackage{hyperref}
\usepackage{makecell}
\usepackage{array}
\usepackage{longtable}


\usepackage{mathrsfs}
\DeclareMathAlphabet{\mathpzc}{OT1}{pzc}{m}{it}

\usepackage{libertine}

\makeatletter
\g@addto@macro\th@plain{\thm@headpunct{:}}
\makeatother
\theoremstyle{plain}

\newtheorem{ορισμός}{Ορισμός}[chapter]
\newtheorem{λήμμα}{Λήμμα}[chapter]
\newtheorem{θεώρημα}{Θεώρημα}[chapter]
\newtheorem{κατασκευή}{Κατασκευή}[chapter]
\newtheorem{πόρισμα}{Πόρισμα}[chapter]
\newtheorem{αλγόριθμος}{Αλγόριθμος}[chapter]
\theoremstyle{definition}
\newtheorem*{απόδειξη*}{Απόδειξη}

\setromanfont[Numbers=Lining, Ligatures={Common, TeX}, Scale=1.1]{Times New Roman}

\renewcommand\listtablename{Κατάλογος Πινάκων}

\usepackage{minitoc}
\setlength{\mtcindent}{8pt} 
\def\mtctitle{Περιεχόμενα}%
\mtcsettitle{minitoc}{}
\mtcsetrules{*}{off}

\usepackage{geometry}
\usepackage{mathtools}
\usepackage{empheq,bigstrut}
\usepackage{afterpage}

\everydisplay\expandafter{\the\everydisplay\setstretch{1.8}}
\usepackage{graphicx}
\newcommand{\smallerrel}[1]{\mathrel{\mathpalette\smallerrelaux{#1}}}
\newcommand{\smallerrelaux}[2]{\raisebox{.1ex}{\scalebox{.75}{$#1#2$}}}

\newcommand{\smallin}{\smallerrel{\in}}
\newcommand{\smallnotin}{\smallerrel{\notin}}

\renewcommand{\captionlabelfont}{\rmfamily}
\usepackage[utf8]{inputenc}
\usepackage[main=english,greek]{babel}
\addto\captionsenglish{
    \renewcommand*{\tablename}{\textbf{\foreignlanguage{greek}{Πίνακας}}}%
}

\usepackage[font=bf]{caption}

\begin{document}
\chapter{Εισαγωγή}
\section{Εισαγωγικές έννοιες}
\begin{longtable}{c c c c c}
    \caption{$BA(12, 5, 3, 2), r_{1}  = 4, r_{2} = 1, n _{12}^{22}  = 2$} \\ 
    \toprule
    \multicolumn{4}{c}{$n_{1}^{2} = 4, n_{11}^{22} = 2$}&\multicolumn{1}{c}{$n _{2}^{2}= 6$}\\
    \midrule
    1& 1& 1& 2&1 \\
    2& 2& 2& 3&1 \\
    3& 3& 3& 1&1 \\
    1& 1& 2& 1&2 \\
    1& 3& 3& 3&2 \\
    2& 1& 1& 1&2 \\
    2& 2& 3& 2&2 \\
    3& 2& 2& 2&2 \\
    3& 3& 1& 3&2 \\
    1& 2& 1& 1&3 \\
    2& 3& 2& 2&3 \\
    3& 1& 3& 3&3 \\
    \bottomrule
\end{longtable}
\end{document}

结果是:

在此处输入图片描述

因此,我问:

1)如何使前4列准确向下并居中$n_{1}^{2} = 4, n_{11}^{22} = 2$

caption2)如何减少和之间的空间toprule

3) 如何使toprule为整个标题加下划线? 的长度与 相同toprule,我也希望midrule和 的长度相同bottomrule

harvard-thesis.cls在此处获取:哈佛论文,但我做了很多改变!

我编写了整个代码,因为我改变了很多东西,也许其中之一造成了我的问题!

答案1

通过测试和讨论,我意识到此模板不适用于大多数列类型。我尝试使用pm我认为来自array包)columntypes,但失败了。我删除了几乎所有包,只留下了模板,无法使用上述列类型。

因此,我们的修复方法是这样的:

\documentclass{harvard-thesis}


\usepackage{array}
\usepackage{longtable}


\usepackage{mathrsfs}
\DeclareMathAlphabet{\mathpzc}{OT1}{pzc}{m}{it}
\usepackage{libertine}

\usepackage[font=bf]{caption}

%\newcolumntype{P}[1]{>{\centering\arraybackslash}m{#1}}
%\newcolumntype{C}[1]{>{\centering\let\newline\\\arraybackslash\hspace{0pt}}m{#1}}

\newcolumntype{Z}{@{\hskip 30pt}}
\begin{document}
\chapter{Εισαγωγή}
\section{Εισαγωγικές έννοιες}
\begin{longtable}{c Z c Z c Z  c ZZ c Z}
    \caption{$BA(12, 5, 3, 2), r_{1}  = 4, r_{2} = 1, n _{12}^{22}  = 2$}\vspace{-10pt} \\ 
    \toprule
    \multicolumn{4}{>{\centering\arraybackslash}cZZ}{$n_{1}^{2} = 4, n_{11}^{22} = 2$}&\multicolumn{1}{cZ}{$n _{2}^{2}= 6$}\\
    \midrule
    1& 1& 1& 2&1 \\
    2& 2& 2& 3&1 \\
    3& 3& 3& 1&1 \\
    1& 1& 2& 1&2 \\
    1& 3& 3& 3&2 \\
    \bottomrule
\end{longtable}
\end{document}

但我个人建议不要使用会出现此类错误的模板。

答案2

像这样?

在此处输入图片描述

我没有harvard-thesis希腊字体,但是上面的图像与它们无关:

\documentclass{book}
\usepackage{geometry}

\usepackage{amsthm}
\usepackage{amssymb}
\usepackage{libertine}
\usepackage{textcomp}
\usepackage{mathrsfs}
\DeclareMathAlphabet{\mathpzc}{OT1}{pzc}{m}{it}

\usepackage[titletoc]{appendix}
\usepackage{multicol}
\usepackage{array, booktabs, longtable, makecell, multirow}

\usepackage[font=bf]{caption}
\usepackage{hyperref}

\begin{document}
\begin{longtable}{*{4}{>{\centering\arraybackslash}p{5mm}}c}
    \caption{$BA(12, 5, 3, 2), r_{1}  = 4, r_{2} = 1, n _{12}^{22}  = 2$} \\
    \toprule
\multicolumn{4}{c}{$n_{1}^{2} = 4,\ n_{11}^{22} = 2$}
    &   $n _{2}^{2}= 6$\\
    \midrule
1   & 1 & 1 & 2 &   1 \\
2   & 2 & 2 & 3 &   1 \\
3   & 3 & 3 & 1 &   1 \\
1   & 1 & 2 & 1 &   2 \\
1   & 3 & 3 & 3 &   2 \\
2   & 1 & 1 & 1 &   2 \\
2   & 2 & 3 & 2 &   2 \\
3   & 2 & 2 & 2 &   2 \\
3   & 3 & 1 & 3 &   2 \\
1   & 2 & 1 & 1 &   3 \\
2   & 3 & 2 & 2 &   3 \\
3   & 1 & 3 & 3 &   3 \\
    \bottomrule
\end{longtable}
\end{document}

注意:hyperref除极少数例外,包必须在序言中最后加载。

相关内容