我有以下代码:
\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$
?
caption
2)如何减少和之间的空间toprule
?
3) 如何使toprule
为整个标题加下划线? 的长度与 相同toprule
,我也希望midrule
和 的长度相同bottomrule
。
可harvard-thesis.cls
在此处获取:哈佛论文,但我做了很多改变!
我编写了整个代码,因为我改变了很多东西,也许其中之一造成了我的问题!
答案1
通过测试和讨论,我意识到此模板不适用于大多数列类型。我尝试使用p
(m
我认为来自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
除极少数例外,包必须在序言中最后加载。