Центрировать текст по вертикали, точно

Центрировать текст по вертикали, точно

Я попробовал два решения, предложенных на этом форуме. Ни одно из них не центрирует текст. Я разместил одно ниже. Оно довольно сильно смещено. Я бы хотел, чтобы оно было центрировано от текстового блока (?... прямоугольника, где пишется обычный текст) до середины высоты буквы (заглавная буква подойдет).

%\documentclass[a4paper, 11pt, oneside]{book} % A4 paper size, default 11pt font size and oneside for equal margins

%PACKAGES
\usepackage{fontspec}
\usepackage{libertine}
\usepackage{fancyhdr}
\usepackage[paperwidth=6in, paperheight=9in, showframe]{geometry}

\fancypagestyle{clearstyle}{\fancyhead{}\fancyfoot{}}

\begin{document}
\begin{center}
\vspace*{\stretch{1}}
{\Huge \textbf{\textit{Too Low}}\par}
\vspace*{\stretch{1}}
\end{center}

\clearpage 
\end{document}

решение1

Просто используйте это (хотя, на мой взгляд, золотое сечение было бы лучше):

\begin{center}
\null\vspace*{\stretch{1}}
{\Huge \textbf{\textit{Too Low}}\par}
\vspace*{\stretch{1}}\null
\end{center}

\clearpage

введите описание изображения здесь

Вот код со значениями для stretchприближения золотого сечения (для текстовой области):

\begin{center}
\null\vspace*{\stretch{1}}
{\Huge \textbf{\textit{Too Low}}\par}
\vspace*{\stretch{1.72}\null
\end{center}

введите описание изображения здесь

решение2

Вы можете использоватьтекстпосразместить текст строго по центру сетки. Однако, если текст будет расположен по центру страницы, он будет оптически выглядеть слишком низким.

Я не компенсировал высоту текстового поля, поэтому, вероятно, текст следует разместить примерно на 2 мм выше.

введите описание изображения здесь

\documentclass[a4paper, 11pt, oneside]{book}

\usepackage{libertine}
\usepackage[absolute]{textpos}
\TPGrid[-7mm,0mm]{210}{290}

\begin{document}
\begin{textblock}{54}(78,145)
{\Huge \textbf{\textit{Too Low gg}}\par}
\end{textblock}
\end{document}

решение3

Ниже я используюeso-pic's \AtTextCenterдля размещения объекта в центре текстового блока. Поскольку объектом является текст, который размещается на базовой линии, опускание (или поднятие на отрицательное расстояние) его ровно на половину помогает отцентрировать его по вертикали на странице.

введите описание изображения здесь

\documentclass{book}

%PACKAGES
\usepackage{fontspec}
\usepackage{libertine}
\usepackage{eso-pic}
\usepackage[paperwidth=6in, paperheight=9in, showframe]{geometry}

\begin{document}

\pagestyle{empty}

\mbox{}% Just to put something on the page
\AddToShipoutPicture*{%
  \AtTextCenter{%
    \makebox[0pt]{\raisebox{\dimexpr-.5\height+.5\depth}{\fbox{\Huge\bfseries Lazy fox}}}%
  }%
}

%\clearpage% Ship out page

\end{document}

Конечно, вы можете удалить \fboxи другие элементы, которые не подходят для вашего использования.

Связанный контент