我第一次设计标题页,遇到了一些问题。我想实现如下效果:
蓝色矩形是徽标。我花了好几个小时才弄好它,但没有什么比下面的代码更好了。
\documentclass{article}
\usepackage{parskip}
\usepackage[export]{adjustbox}
\usepackage{float}
\textwidth 16cm \textheight 23cm
\evensidemargin 0cm \oddsidemargin 0cm
\begin{document}
\begin{titlepage}
\begin{figure}[h]
\includegraphics[width=5cm]{../my_image1.jpg}
\end{figure}
\hspace*{2cm} % Whitespace to the left of the title page
\rule{1pt}{\vfill} % Vertical line
\hspace*{1cm} % Whitespace between the vertical line and title page text
\parbox[b]{13cm}{
{\Huge\bfseries My title}
}
\begin{figure}[h]
\includegraphics[width=5cm]{../my_image2.jpg}
\end{figure}
\end{titlepage}
\end{document}
问题显而易见:
不起作用
\vfill
。我试图从上方徽标下方到页面末尾绘制一条线。下方的标志没有出现在所需的位置。
我尝试使用 minipages,但没有成功,因为我没有使用过。您能告诉我如何继续或给我一些提示吗?
答案1
事实上,你可以用 minipage 来实现它!
这是我能找到的最接近的,无论如何,它适合 a4 格式。只是硬编码:
这里有一个简短的解释(代码如下):
geometry
帮助定义边距和纸张格式adjustbox
是进行盒子操作最有用的包之一,这里是它的一个非常简单的用法。\includegraphics
来自graphicx
,由调用adjustbox
。demo
选项将黑色矩形代替参数\includegraphics
xcolor
提供命令\color
正如已经说过的,
figure
它可能会导致一些问题,因为它会生成“移动”图像,其位置由引擎决定该命令
\vfill
用于在连续的对象之间放置可拉伸的垂直距离,它不是一个尺寸,所以它在里面不起作用rule
。\vfill
是的替代品\vskip\fill
,\fill
是维度(显然它不能作为\rule
任何一个的参数,这个我无法解释......)
我建议您查看有关 的更多文档minipage
,这对为页面提供结构非常有用。它允许非常轻松地创建自定义框,它们对于容纳图像和文本非常有用。第3 页
上有一个有用的最小概述:minipage
http://www.ncl.ac.uk/maths/students/teaching/latex/session5.pdf
\documentclass{article}
\usepackage[demo]{adjustbox}
\usepackage{xcolor}
\usepackage[a4paper,top=25mm,left=20mm,textwidth=170mm,textheight=249.7mm]{geometry}
\begin{document}
\begin{titlepage}
\color[rgb]{.4,.4,1}
\hspace{5mm}
\includegraphics[width=5cm,height=15mm]{../my_image1.jpg}
\bigskip
\hspace{20mm}
\begin{minipage}{10mm}
\color[rgb]{.7,.7,1}
\rule{1pt}{226mm}
\end{minipage}
\begin{minipage}{133mm}
\vspace{10mm}
\color{black}
\sffamily
\Huge\bfseries My title
\vspace{30mm}
Some more text
\large
\vspace{140mm}
Some more text
\hspace{30mm} % or \hfill, if you want the square sticked
\color[rgb]{.4,.4,1} % to the right margin
\includegraphics[width=3cm,height=3cm]{../my_image2.jpg}
\end{minipage}
\end{titlepage}
\end{document}
答案2
自行适当调整所有尺寸以满足您的需要。这使用tabular
:
\documentclass{article}
\usepackage{graphicx,xcolor}
\usepackage[pass]{geometry}
\begin{document}
\newgeometry{left=4cm}
\begin{titlepage}
\hspace*{-2cm}\includegraphics[width=5cm]{example-image-a}
\vfill
\begin{tabular}[t]{l@{\hspace{1cm}}l}
\textcolor{blue!70!black}{\rule[-0.75\textheight]{1pt}{0.75\textheight}} % Vertical line
&
\begin{tabular}[t]{p{0.85\textwidth}}
\\
{\Huge\bfseries My title} \\[3cm]
{\Large Some more text} \\[6.5cm]
some more text \hfill \includegraphics[width=5cm]{example-image}
\end{tabular}
\end{tabular}
\end{titlepage}
\restoregeometry
\end{document}
答案3
可能是这样的吗?
\documentclass{article}
\usepackage[demo]{graphicx}
\usepackage{calc}
\begin{document}
\newsavebox{\firstlogo}
\sbox{\firstlogo}{\includegraphics[width=5cm]{../my_image1.jpg}}
\newlength{\firstlogoht}
\settototalheight{\firstlogoht}{\usebox{\firstlogo}}
\newsavebox{\titletext}
\sbox{\titletext}{%
\parbox{\textwidth-30mm-1pt}{%
\Huge\sffamily My title\bigskip\par
Some more text\par}}
\newsavebox{\lowertext}
\sbox{\lowertext}{%
\parbox{\textwidth-30mm-1pt}{%
\large\sffamily Some more text\hfill \includegraphics[width=5cm]{../my_image2.jpg}}}
\newlength{\titletextht}
\newlength{\lowertextht}
\settototalheight{\titletextht}{\usebox{\titletext}}
\settototalheight{\lowertextht}{\usebox{\lowertext}}
\begin{titlepage}
\setlength{\parindent}{0pt}%
\begin{minipage}{\textwidth}%
\usebox{\firstlogo}
\end{minipage}\par
\begin{minipage}{30mm}%
\hspace*{20mm}\rule{1pt}{\textheight-\firstlogoht}% Vertical line
\end{minipage}%
\begin{minipage}{\textwidth-30mm-1pt}%
\vspace*{20pt}%
\usebox{\titletext}\par
\vspace*{\dimexpr\textheight-\firstlogoht-\titletextht-\lowertextht-20pt}
\usebox{\lowertext}
\end{minipage}
\end{titlepage}
\end{document}
请注意,您确实不希望徽标移动到 LaTeX 认为合适的位置,因此您不希望徽标浮动。因此,不要使用环境figure
(定义浮动)。