Ich habe das folgende MWE, bei dem ich zwei Probleme habe.
Das erste Problem ist, dass ich den Text der Miniseiten nicht übereinander ausrichten kann. Ich habe den [t]
Bezeichner verwendet, aber er funktioniert nicht. Ich habe die anderen ähnlichen Fragen hier gelesen und alle legen nahe, dass es hätte funktionieren sollen.
Das zweite Problem ist, dass ich einen Weg finden möchte, den vertikalen Abstand zwischen dem Lineal und dem darüber liegenden Titel vollständig zu kontrollieren. Ich möchte es etwas unterhalb des Textes platzieren, aber \hrule
zu nah dran.
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}
Antwort1
minipage
Die Option t
bedeutet nichtOberkante desminipage
Aberobere Grundlinie desminipage
. Die Grundlinie von a \rule
liegt standardmäßig unterhalb der Regel. Sie können die Regel jedoch mit dem optionalenerhebenStreit.
Der Grund für den Abstand zwischen der horizontalen Linie und dem Text darüber ist der gleiche und Sie können auch hier die optionaleerhebenStreit.
Im folgenden Beispiel verwende ich \ht\strutbox
als (Teil von) demerhebenArgument. \ht\strutbox
ist so etwas wie die Höhe einer Standardtextzeile.
\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}
BTW: Ich habe \par
vor dem Ende der Schriftgröße Änderungsgruppen eingefügt, da die Absatzeinstellung mit der Schriftgrößeneinstellung erfolgt, die am Ende des Absatzes gültig ist.
Eine Alternative wäre, die minipage
s abzusenken, um sie an ihren oberen Kanten statt an ihrer oberen Grundlinie auszurichten. Dies kann folgendermaßen erfolgen \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}
In diesem Fall \height
ist die Höhe des Inhalts der Box. Das Ergebnis ist:
Eine zweite Alternative wäre, allen minipage
s die gleiche obere Grundlinie zu geben:
\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}
Antwort2
Die MiniseitenSindoben ausgerichtet in Bezug auf die erste Zeile von jedem. Was es falsch erscheinen lässt, ist, dass das untere Ende der Zeile auf der Grundlinie sitzt. Sie müssen also die Zeile unter die Grundlinie absenken.
\begin{minipage}[t]{0.05\textwidth}
\raisebox{\dimexpr-\height+1.5ex}{\rule{1pt}{2cm}}
\end{minipage}%
Was die zweite Frage betrifft, bin ich mir nicht sicher, ob ich das Problem verstehe. Aber Sie können beispielsweise den Abstand zwischen Text und horizontaler Linie steuern, indem Sie
{\large Text here}\\[-2ex]
\rule{\textwidth}{1pt}
Ersetzen Sie -2ex
den Abstand, den Sie benötigen.