
Tengo el siguiente MWE en el que tengo dos problemas.
El primer problema es que no puedo alinear el texto de las minipáginas una encima de la otra. He usado el [t]
identificador pero no funciona. He leído otras preguntas similares aquí y todas sugieren que debería haber funcionado.
El segundo problema es que quiero encontrar una manera de controlar completamente el espacio vertical entre la regla y el título que se encuentra encima. Quiero colocarlo un poco debajo del texto pero \hrule
lo coloco demasiado cerca.
MWE
\documentclass{article}
\usepackage{fontspec}
\usepackage[english]{babel}
\begin{document}
\begin{center}
{\LARGE \textbf{Text Here}}
\end{center}
\vspace{1cm}
{\large Text here}
\rule{\textwidth}{1pt}
\vspace{0.5cm}
\begin{minipage}[t]{0.1\textwidth}
\begin{flushright}
Hello
\end{flushright}
\end{minipage}%
%
\hspace{1pt}
%
\begin{minipage}[t]{0.05\textwidth}
\rule{1pt}{2cm}
\end{minipage}%
%
\begin{minipage}[t]{0.80\textwidth}
Hello
\end{minipage}
\end{document}
Respuesta1
minipage
La opción t
no significaborde superior delminipage
perolínea de base superior de laminipage
. La línea base de a \rule
está por debajo de la regla de forma predeterminada. Pero puedes mover la regla usando el opcionalaumentarargumento.
El motivo de la distancia entre la regla horizontal y el texto de arriba es el mismo y nuevamente puedes usar la opción opcional.aumentarargumento.
En el siguiente ejemplo utilizo \ht\strutbox
como (parte de) elaumentarargumento. \ht\strutbox
es algo así como la altura de una línea de texto estándar.
\documentclass{article}
\usepackage{fontspec}
\usepackage[english]{babel}
\begin{document}
\begin{center}
{\LARGE \textbf{Text Here}\par}
\end{center}
\vspace{1cm}
{\large Text here\par}
\rule[\ht\strutbox]{\textwidth}{1pt}
\vspace{0.5cm}
\begin{minipage}[t]{0.1\textwidth}
\begin{flushright}
Hello
\end{flushright}
\end{minipage}%
%
\hspace{1pt}
%
\begin{minipage}[t]{0.05\textwidth}
\rule[\dimexpr \ht\strutbox-2cm]{1pt}{2cm}
\end{minipage}%
%
\begin{minipage}[t]{0.80\textwidth}
Hello
\end{minipage}
\end{document}
Por cierto: agregué \par
antes del final los grupos de cambio de tamaño de fuente, porque la configuración del párrafo se realiza con la configuración de tamaño de fuente que es válida al final del párrafo.
Una alternativa sería bajar las minipage
s para alinearlas en sus bordes superiores en lugar de en su línea base superior. Esto se puede hacer usando \raisebox
:
\documentclass{article}
\usepackage{fontspec}
\usepackage[english]{babel}
\begin{document}
\begin{center}
{\LARGE \textbf{Text Here}\par}
\end{center}
\vspace{1cm}
{\large Text here\par}
\rule[\ht\strutbox]{\textwidth}{1pt}
\vspace{0.5cm}
\raisebox{\dimexpr\ht\strutbox-\height}{\begin{minipage}[t]{0.1\textwidth}
\raggedright
Hello
\end{minipage}}%
%
\hspace{1pt}
%
\raisebox{\dimexpr\ht\strutbox-\height}{\begin{minipage}[t]{0.05\textwidth}
\raggedright
\rule{1pt}{2cm}
\end{minipage}}%
%
\raisebox{\dimexpr\ht\strutbox-\height}{\begin{minipage}[t]{0.80\textwidth}
Hello
\end{minipage}}
\end{document}
En este caso \height
es la altura del contenido de la caja. El resultado es:
Una segunda alternativa sería dar a todos los minipage
s la misma línea base superior:
\documentclass{article}
\usepackage{fontspec}
\usepackage[english]{babel}
\begin{document}
\begin{center}
{\LARGE \textbf{Text Here}\par}
\end{center}
\vspace{1cm}
{\large Text here\par}
\rule[\ht\strutbox]{\textwidth}{1pt}
\vspace{0.5cm}
\begin{minipage}[t]{0.1\textwidth}
\vskip -\baselineskip
\raggedright
Hello
\end{minipage}%
%
\hspace{1pt}
%
\begin{minipage}[t]{0.05\textwidth}
\vskip -\baselineskip
\raggedright
\rule{1pt}{2cm}
\end{minipage}%
%
\begin{minipage}[t]{0.80\textwidth}
\vskip -\baselineskip
Hello
\end{minipage}%
\end{document}
Respuesta2
Las minipáginassonalineado superiormente con respecto a la primera línea de cada uno. Lo que hace que parezca incorrecto es que el extremo inferior de la línea se encuentra en la línea de base. Entonces tienes que bajar la línea por debajo de la línea base.
\begin{minipage}[t]{0.05\textwidth}
\raisebox{\dimexpr-\height+1.5ex}{\rule{1pt}{2cm}}
\end{minipage}%
Con respecto a la segunda pregunta, no estoy seguro de entender el problema. Pero puedes, por ejemplo, controlar la distancia entre el texto y la regla horizontal usando
{\large Text here}\\[-2ex]
\rule{\textwidth}{1pt}
Reemplace -2ex
la distancia que necesite.