
Я хотел бы создать страницу, подобную следующей:
Кстати, я использую PDFLaTeX.
Я пробовал играть с minipage
окружением, но пока я добиваюсь чего-то, всегда есть проблемы. Мой план атаки состоял в том, чтобы создать две мини-страницы, одну с серым фоном и одну с черным фоном, а затем добавить текст и изображения там, где они должны быть. Я понимаю, что титульный лист не обязательно должен быть в LaTeX, но на этом этапе, после всего времени, которое я потратил, пытаясь это сделать, я просто хочу видеть это на бумаге. Я столкнулся со всевозможными проблемами: не могу отцентрировать изображения, не могу вместить изображения, титульный лист смещается на страницу 2 и еще несколько.
Интересно, есть ли у кого-нибудь мудрые слова или практические советы, которые могли бы помочь мне достичь моей цели.
В качестве альтернативы я бы с удовольствием использовал страницу, созданную с помощью paint.net, которую я прикрепил как картинку, и импортировал ее в свой титульный лист LaTeX. Но даже сделав это, я столкнулся с несколькими проблемами, и она никогда не выглядит так, как мне бы хотелось.
Заранее благодарю за любой акт доброты...
Морис
Мой «код»:
\documentclass[10pt]{book}
\usepackage{color}
\usepackage{xcolor}
\begin{document}
\pagestyle{empty}
\begin{titlepage}
\colorbox{gray}{\begin{minipage}[t]{0.15\textwidth}
\offinterlineskip
\begin{center}
\includegraphics[scale=0.40]{Doob_4a.jpg} \\
..........................
\includegraphics[scale=0.40]{Poisson_4a.jpg}\\
\end{center}
\end{minipage}}
\colorbox{black}{\begin{minipage}[t]{0.85\textwidth}
\begin{center}
\vbox{ \hbox{{\huge {\bf \textcolor{white}{PROBABILITY THEORY}}}}
\vskip 10pt \noindent
\hbox{{\Large{\bf \textcolor{white}{A Modern Comprehensive Course}}}}
}
\vskip .25cm \noindent
\textcolor{white}{\hrule}
\textcolor{white}{\hrule}
\vskip .5cm \noindent
{\large \textcolor{white}{XXXXX YYYYYY}}
\vskip 2.75cm
\includegraphics[scale=0.70]{BM3d.png}
\vskip 2.5cm
{\large \textcolor{white}{Occult Sciences Publishing}}
\end{center}
\end{minipage}}
\end{titlepage}
\end{document}
Мои проблемы:
- Титульный лист переносится на страницу 2;
- Мини-страницы не ровные; и
- В идеале я бы также хотел, чтобы не было пробелов между серым и черным... Все равно выглядит не очень, но, по крайней мере, осуществимо.
решение1
Что-то вроде этого? Обратите внимание, что изображения слева не все одинаковой ширины, потому что изображения, которые я использовал, имеют разные пропорции. При условии, что у ваших одинаковое соотношение высоты и ширины, они будут совпадать по ширине.
\documentclass[letterpaper]{article}
\usepackage[scale=1]{geometry}
\usepackage{tikz,calc}
\usetikzlibrary{positioning,calc}
\setlength\parindent{0pt}
\begin{document}
\begin{tikzpicture}
\fill [black] (current page.north east) rectangle (current page.south west);
\fill [gray] (current page.north west) rectangle ([xshift=50mm]current page.south west);
\node (person 0) [anchor=south, inner sep=0pt] at ([xshift=25mm,yshift=-10mm]current page.north west) {};
\foreach \i [count=\ino, remember=\ino as \j (initially 0)] in {example-image-9x16,example-image-golden-upright,example-image-9x16,example-image-golden-upright,example-image-9x16,example-image-golden-upright,example-image-9x16,example-image-golden-upright,example-image-9x16,example-image-golden-upright,example-image-9x16,example-image-golden-upright,example-image-9x16}
\node (person \ino) [anchor=north, inner sep=0pt] at (person \j.south) {\includegraphics[height=\paperheight/13-20mm/13] {\i} };
\node (title) [anchor=south, font=\Huge\bfseries, text=white] at ([xshift=25mm,yshift=-50mm]current page.north) {PROBABILITY THEORY};
\node (subtitle) [below=5mm of title.south, anchor=north, text=white, font=\LARGE\bfseries] {A Modern Comprehensive Course};
\path [line width=1pt, draw=white] ([yshift=-5mm]title.west |- subtitle.south) coordinate (a) -- ([yshift=-5mm]title.east |- subtitle.south) coordinate (b) ([xshift=2.5mm,yshift=-2.5mm]a) -- ([xshift=-2.5mm,yshift=-2.5mm]b) coordinate (c);
\node at ($(title.center |- c)!1/2!(current page.south -| title.center)$) {\includegraphics[height=.5\paperheight] {tiger}};
\end{tikzpicture}
\end{document}
Использовать
\usepackage{pdfpages}
...
\includepdf{<filename>}
если вы хотите включить его в свой основной документ. (Это кажется странным, поскольку, например, его, по-видимому, не следует нумеровать. Но если вам это нужно, вы можете это сделать.)
РЕДАКТИРОВАТЬ
Сначала я пытался использовать только изображения из стандартных дистрибутивов TeX. Поскольку никто больше не ограничивает себя этим, я решил, что тоже могу поиграть. Вот версия, которая больше полагается на параметры для настройки обложки. Базовый код тот же. Единственное отличие в том, что некоторые настройки больше не закодированы жестко. Возможно, бесполезно для обложки, но, возможно, удобно в похожих контекстах, где могут использоваться несколько изображений с одинаковой структурой.
А тигра я все-таки оставлю. Стандартный или нет...
\documentclass[letterpaper]{article}
\usepackage[scale=1]{geometry}
\usepackage{tikz,calc}
\usetikzlibrary{positioning,calc}
\setlength\parindent{0pt}
\newlength\coverscratch
\setlength\coverscratch{10mm}
\newlength\coverborder
\setlength\coverborder{30mm}
\tikzset{%
cover border left/.store in=\coverborderleft,
cover border right/.store in=\coverborderright,
cover border top/.store in=\coverbordertop,
cover border bottom/.store in=\coverborderbottom,
cover border images/.store in=\coverborderimages,
cover sample image/.code={%
\settowidth{\coverscratch}{\includegraphics[height=\paperheight/\coverborderimages-\coverbordertop/\coverborderimages-\coverborderbottom/\coverborderimages]{#1}}%
\setlength{\coverborder}{\coverborderleft+\coverborderright+\coverscratch}%
},
cover border image/.style={%
anchor=north,
inner sep=0pt,
node contents={\includegraphics[height=\paperheight/\coverborderimages-\coverbordertop/\coverborderimages-\coverborderbottom/\coverborderimages]{#1}},
},
cover title drop/.store in=\covertitledrop,
% make sure everything has a default
cover border left=10mm,
cover border right=10mm,
cover border top=2.5mm,
cover border bottom=2.5mm,
cover border images=13,
cover sample image={example-image-golden-upright},
cover title drop=50mm,
}
\begin{document}
\begin{tikzpicture}
[
cover border top=5mm,
cover border bottom=5mm,
cover border left=7.5mm,
cover border right=7.5mm,
cover sample image={people/Charles_Darwin},% best to set this last to ensure correct values are used
]
\fill [black] (current page.north east) rectangle (current page.south west);
\fill [gray] (current page.north west) rectangle ([xshift=\coverborder]current page.south west);
\node (person 0) [anchor=south, inner sep=0pt] at ([xshift=.5*\coverborder,yshift=-\coverbordertop]current page.north west) {};
\foreach \i [count=\ino, remember=\ino as \j (initially 0)] in {Albert_Einstein,Carl_Sagan,Charles_Darwin,Marie_Curie,Niels_Bohr,Nikola_Tesla,Richard_Feynman,Steven_Hawking,Stimpson_J,Albert_Einstein,Carl_Sagan,Charles_Darwin,Marie_Curie}
\node (person \ino) at (person \j.south) [cover border image={people/\i}];
\node (title) [anchor=south, font=\Huge\bfseries, text=white] at ([xshift=.5*\coverborder,yshift=-\covertitledrop]current page.north) {PROBABILITY THEORY};
\node (subtitle) [below=5mm of title.south, anchor=north, text=white, font=\LARGE\bfseries] {A Modern Comprehensive Course};
\path [line width=1pt, draw=white] ([yshift=-5mm]title.west |- subtitle.south) coordinate (a) -- ([yshift=-5mm]title.east |- subtitle.south) coordinate (b) ([xshift=2.5mm,yshift=-2.5mm]a) -- ([xshift=-2.5mm,yshift=-2.5mm]b) coordinate (c);
\node at ($(title.center |- c)!1/2!(current page.south -| title.center)$) {\includegraphics[height=.5\paperheight] {tiger}};
\end{tikzpicture}
\end{document}
решение2
Вы также можете попробоватьтекстпос-package. Он имеет хорошее руководство и прост в освоении, даже если вы учитесь методом проб и ошибок. Если вы, как и я, не являетесь специалистом в Tikz
, возможно, вам будет textpos
проще его использовать.
Я сделал титульный лист, но вам придется ссылаться на свои файлы. Вероятно, вам следует согласовать высоту и ширину всех изображений во внешней программе и использовать keepaspectratio=true
вместо явной ширины (я зафиксировал высоту и ширину просто для экономии времени). Как вы видите, я сделал сетку, состоящую из тринадцати вертикальных и двенадцати горизонтальных модулей. Чтобы иметь границу вокруг лиц, я немного уменьшил высоту изображения. Каждое изображение людей теперь занимает один вертикальный модуль, за вычетом доли миллиметра.
Вы также обнаружите, что я создал темно-серый и черный фон как блоки, занимающие всю страницу. Использование модулей сетки упрощает изменение размера бумаги, поскольку сетка устанавливается относительно высоты и ширины страницы. После этого вы просто накладываете два «фоновых» блока на новые блоки, содержащие текст и графику. texpos
совместимы с calc
, поэтому также легко вычислять относительные положения.
\documentclass{book}
\usepackage[absolute]{textpos}
\usepackage{calc,color,xcolor,graphicx}
\TPGrid[0mm,0mm]{12}{13}
\textblockorigin{0mm}{0mm} % start everything near the top-left corner
\setlength{\parindent}{0pt}
\begin{document}
\begin{textblock}{2}(0,0)
\textblockcolour{darkgray}
\parbox[0][13\TPVertModule][0]{2\TPHorizModule}{text}
\end{textblock}
\begin{textblock}{10}(2,0)
\textblocklabel{block two}
\textblockcolour{black}
\parbox[0][13\TPVertModule][0]{10\TPHorizModule}{text}
\end{textblock}
\begin{textblock}{8}[0.5,0.5](7,2)
\textblockcolour{black}
\centering\textcolor{white}{\Huge\bfseries PROBABILITY THEORY}\par\bigskip
\textcolor{white}{\huge A Modern Comprehensive Course}\par\medskip
\textcolor{white}{\rule{6.5\TPHorizModule}{1pt}}\par\vspace{-0.5\baselineskip}
\textcolor{white}{\rule{6.5\TPHorizModule}{1pt}}
\end{textblock}
\begin{textblock}{1.5}(0.4,0.1)
\textblockcolour{darkgray}
\includegraphics[width=1.5\TPHorizModule, height=1\TPVertModule-0.65mm]{homer-simpson}\par
\includegraphics[width=1.5\TPHorizModule, height=1\TPVertModule-0.65mm]{Marge_Simpson}\par
\includegraphics[width=1.5\TPHorizModule, height=1\TPVertModule-0.65mm]{lisa-simpson}\par
\includegraphics[width=1.5\TPHorizModule, height=1\TPVertModule-0.65mm]{Apu}\par
\includegraphics[width=1.5\TPHorizModule, height=1\TPVertModule-0.65mm]{barney-gumble}\par
\includegraphics[width=1.5\TPHorizModule, height=1\TPVertModule-0.65mm]{homer-simpson}\par
\includegraphics[width=1.5\TPHorizModule, height=1\TPVertModule-0.65mm]{Marge_Simpson}\par
\includegraphics[width=1.5\TPHorizModule, height=1\TPVertModule-0.65mm]{lisa-simpson}\par
\includegraphics[width=1.5\TPHorizModule, height=1\TPVertModule-0.65mm]{Apu}\par
\includegraphics[width=1.5\TPHorizModule, height=1\TPVertModule-0.65mm]{barney-gumble}\par
\includegraphics[width=1.5\TPHorizModule, height=1\TPVertModule-0.65mm]{homer-simpson}\par
\includegraphics[width=1.5\TPHorizModule, height=1\TPVertModule-0.65mm]{Marge_Simpson}\par
\includegraphics[width=1.5\TPHorizModule, height=1\TPVertModule-0.65mm]{lisa-simpson}\par
\end{textblock}
\begin{textblock}{8}[0.5,0.5](7,7)
\textblockcolour{black}
\centering
\includegraphics[width=1.5\TPHorizModule, width=7\TPHorizModule]{everybody}\par
\end{textblock}
\end{document}
решение3
Вот пример использования изображений с моего компьютера. Вы можете использовать свои собственные.
\documentclass[10pt]{book}
\usepackage{graphicx}
\usepackage{tikz}
\usetikzlibrary{calc}
\newcommand\myhoffset{0.75in}
\newcommand\mytitlesep{1.00cm}
\newcommand\portraitscalefactor{85/100}
\newcommand\portraitheight{\dimexpr1in*\portraitscalefactor}
\newcommand\portraitwidth{\dimexpr1in*\portraitscalefactor}
\newcommand\portraitvoffset{\dimexpr\paperheight-1in*\portraitscalefactor*12\relax/2}
\begin{document}
\pagestyle{empty}
\begin{tikzpicture}[remember picture,overlay]
%% creating the black background
\fill[black] (current page.north west) rectangle (current page.south east);
%% gray sidebar
\fill[gray] (current page.north west) rectangle ($(current page.south west)+(\myhoffset*2,0)$);
%% setting up the title
\node[white,scale=3.0] (title) at ($(current page.north)+(\myhoffset,-2in)$) {\textbf{PROBABILITY THEORY}};
\node[white,scale=2.0] (subtitle) at ($(title.south)+(0,-\mytitlesep)$) {\textbf{A Modern Comprehensive Course}};
%% double line below title
\begin{scope}[transform canvas={yshift=-\dimexpr\mytitlesep*2+1ex},
my y shift/.style={yshift=-5pt}]
\draw[line width=1.5pt,white] (title.south west) -- (title.south east);
\draw[line width=1.5pt,white] ([my y shift]title.south west) -- ([my y shift]title.south east);
\end{scope}
%% the main feature picture
\node at ($(current page.center)+(\myhoffset,-\dimexpr\mytitlesep*3+0.25in)$)
{\includegraphics[width=4in]{images/shantideva}};
%% the side portraits
\foreach \mypic [count=\myn from 0] in {%%
chick,
demon,
no_you_cant,
cameraman,
chick,
demon,
no_you_cant,
cameraman,
chick,
demon,
no_you_cant,
cameraman}
{
\node at ($(current page.north west)+(0.75in,-\dimexpr\portraitvoffset+\portraitheight/2+\portraitheight*\myn\relax)$)
{\includegraphics[width=\portraitwidth,height=\portraitheight]{images/\mypic.png}};
}
\end{tikzpicture}
\end{document}
решение4
- Для меня титульный лист — это уже первая страница.
- Мини-страницы считаются четными, если ширина первой мини-страницы равна ,
{0.18\textwidth}
а второй —{0.85\textwidth}
. - Между двумя средами мини-страниц напишите команду
\hspace{-0.3cm}
и выполните код, и вы получите желаемый результат.