论文word版本的封面顶端有文字和表格
在我的latex排版中,如何实现在顶端插入文字和表格呢?
解决问题,支付宝打30元
在导言区加上
\usepackage{multirow}
\makeatletter
\renewcommand{\maketitle}[1][15em]{
\phantomsection
\pdfbookmark[0]{封~面}{cover}
\begin{titlepage}
\begin{center}
{编\hspace*{\ccwd}号:\hfill
\begin{tabular}{|c|c|c|}
\hline
\multirow{2}*{类别} & 全日制教育硕士 & \\
\cline{2-3}
& 非全日制教育硕士 & \\
\hline
\end{tabular}} \\
\includegraphics[width=14cm]{\logopic}\\
\vspace{1cm}
\if@master
{\fontsize{40}{40}\selectfont 硕~士~学~位~论~文}\\
\else
{\fontsize{40}{40}\selectfont 博~士~学~位~论~文}\\
\fi
\vspace{1.8cm}
\begin{center}
\parbox[t]{15cm}{\centering \zihao{1} \heiti \@title}
\end{center}
\vspace{1.2cm}
{\zihao{3} \heiti
\renewcommand\arraystretch{1.6}
\begin{tabular}{lc}
\makebox[7em][s]{专\hfill 业\hfill 教\hfill 学\hfill 部~:} &
\underline{\makebox[#1]{\defcollege}} \\
\makebox[7em][s]{专\hfill 业\hfill 名\hfill 称~:} &
\underline{\makebox[#1]{\defmajor}} \\
\makebox[7em][s]{指\hfill 导\hfill 教\hfill 师~:} &
\underline{\makebox[#1]{\definstructor}} \\
\makebox[7em][s]{研\hfill 究\hfill 生~:} &
\underline{\makebox[#1]{\@author}} \\
\makebox[7em][s]{提\hfill 交\hfill 时\hfill 间~:} &
\underline{\makebox[#1]{\@date}} \\
\end{tabular}}\\
\end{center}
\end{titlepage}
\cleardoublepage
}
\makeatother
提供一种使用tikz pagenode的方法.绘制了一个封面
% 从fduthesis.dtx中抽取的
% 排版论文封面作者信息栏的代码
% (分散对齐代码)
\documentclass{ctexart}
% 导言区
\usepackage{expl3}
\usepackage{xparse}
\usepackage{tikz}
\ExplSyntaxOn
% 获取文本长度函数,#1用于保存长度,#2是被检测的文字
\cs_new:Npn \l_get_text_width:Nn #1#2
{
% 将文字内容存入变量
\hbox_set:Nn \l_tmpa_box {#2}
% 用\box_wd:N函数获取盒子宽度,并存入长度变量
\dim_set:Nn #1 { \box_wd:N \l_tmpa_box }
}
% 文本长度函数变体
\cs_generate_variant:Nn \l_get_text_width:Nn { NV }
% 获取clist中各个成员长度是大值,
% #1用于保存长度变量,#2是被检测clist变量
\cs_new:Npn \l_get_max_text_width:NN #1#2
{
\group_begin:
% 将长度设置为小值
\dim_set:Nn #1 {-999pt}
\clist_set_eq:NN \l_tmpa_clist #2
% 循环检测每个tl的长度,并更新是大值
\bool_until_do:nn { \clist_if_empty_p:N \l_tmpa_clist }
{
\clist_pop:NN \l_tmpa_clist \l_tmpa_tl
\l_get_text_width:NV \l_tmpa_dim \l_tmpa_tl
\dim_gset:Nn #1 { \dim_max:nn {#1} { \l_tmpa_dim } }
}
\group_end:
}
% 分散对齐盒子,
% #1是盒子长度变量,#2是需要排版的文字
\cs_new_protected:Npn \l_spread_box:nn #1#2
{
\mode_leave_vertical:
\hbox_to_wd:nn {#1}
{ \tl_map_inline:xn {#2} { ##1 \hfil } \unskip }
}
% 分散对齐盒子函数变体
\cs_generate_variant:Nn \l_spread_box:nn { Vn }
\cs_generate_variant:Nn \l_spread_box:nn { nV }
% 居中对齐盒子,
% #1是盒子长度变量,#2是需要排版的文字
\cs_new_protected:Npn \l_center_box:nn #1#2
{
\mode_leave_vertical:
\dim_set:Nn \l_tmpa_dim {#1}
\dim_add:Nn \l_tmpa_dim {0.6em}
\makebox[0cm][l]{\rule[-0.5ex]{\l_tmpa_dim}{0.4 pt}}
{\hbox_to_wd:nn {\l_tmpa_dim} { \hfil #2 \hfil }}
}
% 居中对齐盒子函数变体
\cs_generate_variant:Nn \l_center_box:nn { Vn }
% 为文字添加下划线
\cs_new:Npn \l_text_uline:n #1
{
\l_get_text_width:Nn \l_tmpa_dim {#1}
\dim_add:Nn \l_tmpa_dim {0.6em}
% 将标尺盒子放到宽度为0的左右盒子中实现下划线
\makebox[0pc][l]{\rule[-0.5ex]{\l_tmpa_dim}{0.4 pt}}
% 用高度为0的标尺盒子在文字两端添加空白
\rule{.3em}{0cm}#1\rule{.3em}{0cm}
}
% 定义需要的tl变量
\clist_map_inline:nn
{
major, researchfield, author, supervisor, date
}
{ \tl_new:c { l_info_ #1 _tl } }
% 设置tl变量值的辅助函数
\cs_new_protected:Npn \__set_info_var:nn #1#2
{ \tl_set:cn { l_info_ #1 _tl } {#2} }
% 循环设置tl变量值
\clist_map_inline:nn
{
{ major } { },
{ researchfield } { 教育学 },
{ author } { },
{ supervisor } { },
{ date } { },
}
{ \__set_info_var:nn #1 }
% 定义tl常量的辅助函数
\cs_new_protected:Npn \__define_name:nn #1#2
{ \tl_const:cn { c_name_ #1 _tl } {#2} }
% 循环定义需要的tl常量
\clist_map_inline:nn
{
{ major } { 专业教学部 },
{ researchfield } { 专业名称 },
{ author } { 指导教师 },
{ supervisor } { 研究生 },
{ date } { 提交时间 },
}
{ \__define_name:nn #1 }
% 排版封面中的作者等信息
\cs_new_protected:Npn \l_cover_info:
{
\begin{minipage} [ c ] { \textwidth }
\centering
% 构造各信息标识名称clist
\clist_set:Nx \l_tmpa_clist
{
\c_name_major_tl,
\c_name_researchfield_tl,
\c_name_author_tl,
\c_name_supervisor_tl,
\c_name_date_tl,
}
% 构造各信息标识值clist
\clist_set:Nx \l_tmpb_clist
{
{ \l_info_major_tl },
{ \l_info_researchfield_tl },
{ \l_info_author_tl },
{ \l_info_supervisor_tl },
{ \l_info_date_tl }
}
% 计算最大长度
\l_get_max_text_width:NN \l_tmpb_dim \l_tmpb_clist
% 循环输出各字段
\bool_until_do:nn { \clist_if_empty_p:N \l_tmpa_clist }
{
\clist_pop:NN \l_tmpa_clist \l_tmpa_tl
\clist_pop:NN \l_tmpb_clist \l_tmpb_tl
\heiti
% 定宽分散对齐
\l_spread_box:nn {7em} { \l_tmpa_tl }
:
\songti
% 定宽居中对齐
\l_center_box:Vn \l_tmpb_dim { \l_tmpb_tl }
\par
}
\end{minipage}
}
% 定义用户接口
\NewDocumentCommand \txtuline { m }
{
\l_text_uline:n {#1}
}
\NewDocumentCommand \makecover { }
{
\begin{titlepage}
\begin{tikzpicture}[remember~picture,overlay]
\node[scale=2,font=\Huge\bfseries] (title) at ([shift={(0,-0.3\paperheight)}]current~page.north){沈阳师范大学};
\node[scale=2,font=\LARGE] (subtitle) at ([shift={(0,-0.1\paperheight)}]title){硕士学位论文};
\node[align=center,scale=1.5] (info) at ([shift={(-0.08\paperwidth,-0.05\paperheight)}]current~page.center)
{
\l_cover_info:
};
\node[scale=1.5,font=\bfseries] at ([shift={(3,-3)}]current~page.north~west){编号:};
\node[scale=1.5,font=\bfseries] at ([shift={(-5,-3)}]current~page.north~east)
{
\begin{tabular}{|c|c|c|}
\hline
类 & 全日制教育硕士 & \\ \cline{2-3}
别 & 非全日制教育硕士 & \\ \hline
\end{tabular}
};
\end{tikzpicture}
\end{titlepage}
}
\ExplSyntaxOff
% 正文区(有且只能有一个)
\begin{document}
\makecover
\end{document}
效果如图:
解决办法有很多,如
fancyhdr
宏包,设置页眉;everyshi
宏包,将其置于背景中;shipout
钩子;current page
node;这里给出第3个办法的实现:
% !TEX program=xelatex
\documentclass{ctexart}
\usepackage[a4paper,hmargin=2.4cm,vmargin=2cm]{geometry}
\usepackage{array,multirow}
\begin{document}
\AddToHookNext{shipout/background}{\put(2.4cm,-3cm){%
\makebox[\textwidth]{\heiti 编号:\hfill
\begin{tabular}[c]{|c|c|c|}\hline
\multirow{2}{1em}{类\\ 别} & 全日制教育硕士 & \hphantom{H} \\ \cline{2-3}
& 非全日制教育硕士 & \\ \hline
\end{tabular}}
}}
\thispagestyle{empty}
\leavevmode
\vfill
{\centering\zihao{2}\heiti 学位论文\par}
\vspace{1cm}
{\heiti 题目:}
\vspace{1cm}
\begin{center}
{\heiti
\renewcommand\arraystretch{1.5}%
\newcommand*\fixedbox[2][3cm]{%
\begingroup
\def\CJKglue{\hskip 0pt plus 2filll minus 1filll}%
\makebox[#1][l]{#2}%
\endgroup}
\newcommand*\infobox{\kern-5cm\makebox[5cm]}
\begin{tabular}{c@{:}>{\rule[-2pt]{5cm}{.4pt}}c}
\fixedbox{专业教学部} & \\
\fixedbox{专业名称} & \infobox{教育学} \\
\fixedbox{指导教师} & \\
\fixedbox{研究生} & \\
\fixedbox{提交时间} & \\
\end{tabular}}
\end{center}
\vspace{2cm}
{\centering\heiti 研究生院\quad 制\par}
\vspace{1cm}
\end{document}
谢谢您的回复,您帮我好几次了~支付宝账号麻烦给下