
THIS TEXT NEEDS TO BE ALIGNED
На одной странице моего есть только текст book
, которому предшествует какое-то vspace
значение. На другой странице также есть какой-то WITH THIS TEXT
текст, которому предшествует какое-то vspace
значение, TEXT BEFORE TEXT THAT NEEDS TO BE ALIGNED
текст другого размера и example-image-c
изображение.
Мне нужно, чтобы THIS TEXT NEEDS TO BE ALIGNED
и WITH THIS TEXT
были на одинаковом расстоянии от верха страницы, поэтому, если обе страницы сложены вместе, оба текста будут правильно выровнены друг относительно друга.
В моем текущем коде я назначил ex values
текстам vspaces
и даже высоте изображения. Я надеялся, что, уравняв общее количество вертикальных значений всех элементов, которые предшествуют обоим текстам, я правильно выровняю нужные тексты (на одинаковом расстоянии от верха страницы), но это не так! Что я делаю не так? \begin{titlepage}
На одной из страниц добавляется какое-то пространство, о котором я не знаю?
% !TEX TS-program = LuaLaTeX
\documentclass[11pt,twoside,openany]{book}
\pagestyle{plain}
\usepackage[english, russian]{babel}
\usepackage{fontspec}
\setmainfont{EB Garamond}[
SmallCapsFont={EB Garamond SC},
SmallCapsFeatures={Letters=SmallCaps},
Ligatures=TeX,
]
\usepackage{microtype}
\usepackage[shortcuts]{extdash}
\usepackage[pagewise]{lineno}
\usepackage[
paperwidth=6in,
paperheight=9in,
inner=15mm,
top=15mm,
outer=20mm,
bottom=22mm,
heightrounded,
]{geometry}
\usepackage{lipsum}
\setlength{\parskip}{0pt}
\usepackage{graphicx}
\usepackage[dvipsnames]{xcolor}
\usepackage{titlesec}
\titleclass{\chapter}{straight}
\titleformat{\chapter}[display]{\filcenter\normalfont\large}{\thechapter.}{6pt}{}
\titlespacing*{\chapter}{0pt}{30pt}{10pt plus 10pt}
\begin{document}
\pagenumbering{gobble}
\frontmatter
% PAGE1
\vspace*{14ex}
\begin{center}
{\fontsize{4ex}{4ex}\bfseries{THIS TEXT NEEDS TO BE ALIGNED}\par} % TEXT THAT NEEDS TO BE ALIGNED
\end{center}
\vspace{9ex}
\AddToHook{shipout/background}{%
\put(0mm,-240mm){\ifnum\value{page}=0 \includegraphics[width=200mm,height=250mm,keepaspectratio]{example-image-a}\fi}
\put(60mm,-200mm){\ifnum\value{page}=0 \includegraphics[width=60mm,height=60mm,keepaspectratio]{example-image-b}\fi}
}
\clearpage
% TITLE PAGE
\begin{titlepage}
\centering
\vspace*{6ex}
{\scshape\fontsize{6ex}{6ex}{TEXT BEFORE TEXT THAT NEEDS TO BE ALIGNED}\par}
\begin{center}
\includegraphics[height=2ex,keepaspectratio]{example-image-c}
\end{center}
{\fontsize{4ex}{4ex}\bfseries{WITH THIS TEXT}\par} % TEXT THAT NEEDS TO BE ALIGNED
\vspace{9ex}
{\scshape\footnotesize{SOME RANDOM TEXT}\par}
\vspace{3ex}
{\scshape\footnotesize{SOME RANDOM TEXT}\par}
\vspace{9ex}
{\large SOME RANDOM TEXT\par}
\vspace{50ex}
{\footnotesize SOME RANDOM TEXT\par}
\vspace{0ex}
{\footnotesize SOME RANDOM TEXT\par}
\vspace{0ex}
{\footnotesize SOME RANDOM TEXT\par}
\vspace{0ex}
\vfill
\title{SOME TITLE}
\author{SOME AUTHOR}
\date{}
\end{titlepage}
\clearpage
\mainmatter
\pagenumbering{arabic}
\chapter{CHAPTER ONE}
\lipsum[1-1]
\end{document}
решение1
При таком подходе используется поле с материалом над надписью «С ЭТИМ ТЕКСТОМ» для расчета вертикального пространства, необходимого перед надписью «ЭТОТ ТЕКСТ НУЖНО ВЫРОВНЯТЬ» для выравнивания двух предложений.
(Используется \documentclass[11pt,oneside,openany]{book}
только для отображения двух страниц рядом при открытии файла PDF.)
ОБНОВЛЕНОпосле дополнительных вопросов.
\documentclass[11pt,oneside,openany]{book}
\usepackage[english, russian]{babel}
\usepackage{fontspec}
\setmainfont{EB Garamond}
\usepackage{microtype}
\usepackage[shortcuts]{extdash}
\usepackage[pagewise]{lineno}
\usepackage[
paperwidth=6in,
paperheight=9in,
inner=15mm,
top=15mm,
outer=20mm,
bottom=22mm,
heightrounded,
showframe % added showframe to display the margins
]{geometry}
\usepackage{lipsum}
\setlength{\parskip}{0pt}
\usepackage{graphicx}
\usepackage[dvipsnames]{xcolor}
\usepackage{titlesec}
\titleclass{\chapter}{straight}
\titleformat{\chapter}[display]{\filcenter\normalfont\large}{\thechapter.}{6pt}{}
\titlespacing*{\chapter}{0pt}{30pt}{10pt plus 10pt}
% ************************************* added <<<<<<
\newsavebox{\upperspace}
\savebox{\upperspace}{%
\begin{minipage}[b][][t]{\textwidth}
\begin{titlepage}
\centering
\vspace*{6ex}
{\scshape\fontsize{2ex}{2ex}\selectfont TEXT BEFORE TEXT THAT NEEDS TO BE ALIGNED\par}
\begin{center}
\includegraphics[height=2ex,keepaspectratio]{example-image-c}
\end{center}
\end{titlepage}
\end{minipage}
}
\newlength{\hhbox}
\settoheight{\hhbox}{\usebox{\upperspace}}
% *************************************
\begin{document}
\pagenumbering{gobble}
\frontmatter
% PAGE1
\vspace*{\dimexpr\the\hhbox-1em}% changed <<<<<<<<<
{\centering
{\fontsize{4ex}{4ex}\selectfont\bfseries THIS TEXT NEEDS TO BE ALIGNED\par}% TEXT THAT NEEDS TO BE ALIGNED
\AddToHook{shipout/background}{%
\put(0mm,-0mm){\ifnum\value{page}=0 \includegraphics[width=200mm,height=250mm,keepaspectratio]{example-image-a}\fi}
\put(60mm,-0mm){\ifnum\value{page}=0 \includegraphics[width=60mm,height=60mm,keepaspectratio]{example-image-b}\fi}
}}
\clearpage
% TITLE PAGE
\begin{titlepage}
\centering
\usebox{\upperspace}
{\fontsize{4ex}{4ex}\selectfont\bfseries WITH THIS TEXT\par} % TEXT THAT NEEDS TO BE ALIGNED
\vspace{9ex}
{\scshape\footnotesize{SOME RANDOM TEXT}\par}
\vspace{3ex}
{\scshape\footnotesize{SOME RANDOM TEXT}\par}
\vspace{9ex}
{\large SOME RANDOM TEXT\par}
\vspace{50ex}
{\footnotesize SOME RANDOM TEXT\par}
\vspace{0ex}
{\footnotesize SOME RANDOM TEXT\par}
\vspace{0ex}
{\footnotesize SOME RANDOM TEXT\par}
\vspace{0ex}
\vfill
\title{SOME TITLE}
\author{SOME AUTHOR}
\date{}
\end{titlepage}
\clearpage
\mainmatter
\pagenumbering{arabic}
\chapter{CHAPTER ONE}
\lipsum[1-1]
\end{document}
При использовании \fontsize{}{}\selectfont
внутри группы необходимо завершить абзац перед закрытием группы.
В то время как размер шрифта обновляется при выдаче, \selectfont
новый baselineskip
обновляется только тогда, когда абзац заканчивается с помощью \par
или пустой строкой.