考虑以下 MWE:
\documentclass[letterpaper,11pt]{article}
\usepackage{geometry}%[showframe]
\usepackage{array}
\usepackage{graphicx}
\usepackage{booktabs}
\usepackage{fontspec}
\setmainfont{Arial}%{Times New Roman}
\newcommand{\logo}{\includegraphics[scale=0.125]{images/logo.pdf}}
\newlength{\logodim}
\newlength{\headerdim}
\settowidth{\logodim}{\logo}
\setlength{\headerdim}{\dimexpr\linewidth-\logodim-\tabcolsep\relax}
\setlength{\parindent}{0pt}
\begin{document}
{\setlength{\tabcolsep}{0.5em}
\begin{tabular}{@{}m{\logodim}m{\headerdim}@{}}%
\logo & %
\parbox{\headerdim}{%
{\bfseries University Name}\\%
Department Name%
} %
\end{tabular}}
\\[1ex]
\setlength{\tabcolsep}{0em}
\begin{tabular}{p{0.75\linewidth}p{0.25\linewidth}<{\raggedleft\arraybackslash}}
\toprule
\textbf{CALCULUS} & \textbf{MATH2301}\\[0.5ex]
M1 T1: Precalculus & Semster 1\\[0.5ex]
Maximum Marks: 100 & October, 2020\\[0.5ex]
\bottomrule
\end{tabular}
\end{document}
\newlength
、\settowidth
和\setlength
的新 L3 命令是什么\dimexpr
?您能告诉我在哪份文档中可以找到这些命令吗?
答案1
关于原帖作者的最初问题。
\newlength
、\settowidth
和\setlength
的新 L3 命令是什么\dimexpr
?您能告诉我在哪份文档中可以找到这些命令吗?
这里是相应的函数expl3
(但是,这些函数不是供最终用户使用,而是由包和类的开发人员使用)。
而
\newlength
应该使用\dim_new:N
。\setlength
您可以使用\dim_set:Nn
(或进行全局分配)而不是\dim_gset:Nn
。您不需要,\dimexpr
因为您可以在 的第二个参数中放置计算\dim_set:Nn
:\dim_set:Nn \l_tmpa_dim { 1 cm + 2 mm }
。相反
\settowidth
,你可以使用如下方法:\hbox_set:Nn \l_tmpa_box { My text }
\dim_set:Nn \l_tmpa_dim { \box_wd:N \l_tmpa_box }
这些功能在文档中有描述。在终端中interface3.pdf
使用。texdoc interface3.pdf
答案2
我不确定你为什么要做所有这些测量。
\documentclass[letterpaper,11pt]{article}
\usepackage{geometry}%[showframe]
\usepackage{array}
\usepackage{graphicx}
\usepackage{booktabs}
\usepackage{fontspec}
\setmainfont{Arial}%{Times New Roman}
\newcommand{\logo}{\includegraphics[scale=0.125]{example-image}}
\begin{document}
\noindent
\begin{tabular}{@{}c@{}} \logo \end{tabular}\enspace
\begin{tabular}{@{}l@{}}
\bfseries University Name \\
Department Name
\end{tabular}
\noindent
\begin{tabular*}{\textwidth}{@{\extracolsep{\fill}}lr@{}}
\toprule
\textbf{CALCULUS} & \textbf{MATH2301}\\[0.5ex]
M1 T1: Precalculus & Semester 1\\[0.5ex]
Maximum Marks: 100 & October, 2020\\
\bottomrule
\end{tabular*}
\end{document}
添加的图片showframe
:
答案3
这里有两个选择。第一个与包中的选项 tabularx
结合使用,第二个示例仅使用将两行文本放在彼此之下。valign
adjustbox
tabular
\documentclass[letterpaper,11pt]{article}
\usepackage{geometry}%[showframe]
\usepackage{array}
\usepackage{graphicx}
\usepackage{booktabs}
\usepackage[export]{adjustbox}
\usepackage{tabularx}
\usepackage{fontspec}
\setmainfont{Arial}%{Times New Roman}
\newcommand{\logo}{\includegraphics[scale=0.25,valign=c]{example-image}}
\setlength{\parindent}{0pt}
\renewcommand{\tabularxcolumn}[1]{m{#1}}
\begin{document}
{\setlength{\tabcolsep}{0.5em}
\begin{tabularx}{\textwidth}{@{}lX@{}}%
\logo & %
{\bfseries University Name}\newline
Department Name%
\end{tabularx}}
\\[1ex]
\setlength{\tabcolsep}{0em}
\begin{tabular}{p{0.75\linewidth}p{0.25\linewidth}<{\raggedleft\arraybackslash}}
\toprule
\textbf{CALCULUS} & \textbf{MATH2301}\\[0.5ex]
M1 T1: Precalculus & Semster 1\\[0.5ex]
Maximum Marks: 100 & October, 2020\\[0.5ex]
\bottomrule
\end{tabular}
\bigskip
\logo \hspace{1em} \begin{tabular}{l} {\bfseries University Name}\\ Department Name \end{tabular}
\\[1ex]
\setlength{\tabcolsep}{0em}
\begin{tabular}{p{0.75\linewidth}p{0.25\linewidth}<{\raggedleft\arraybackslash}}
\toprule
\textbf{CALCULUS} & \textbf{MATH2301}\\[0.5ex]
M1 T1: Precalculus & Semster 1\\[0.5ex]
Maximum Marks: 100 & October, 2020\\[0.5ex]
\bottomrule
\end{tabular}
\end{document}