Bazı metinleri aynı satırda sola/merkeze/sağa hizalamaya çalışıyorum. Örneğin, telefon numaramı sola, adımı ortaya ve e-postamı sağa koymak istiyorum, bunu nasıl yaparım?
Aşağıdaki örnekte gösterildiği gibi, \hfill
kullanımı mutlaka ortadaki metnin ortalanmasıyla sonuçlanmayacaktır. Metni, ortadaki metin gerçekten ortalanacak şekilde yerleştirmek istiyorsanız, örnekte gösterildiği gibi \parbox
ları kullanmanızı öneririm (yalnızca referans olarak kullanılacak metin oluşturmak için \lipsum[2]
komutunu kullandım):
\documentclass{article}
\usepackage{lipsum}
\newcommand\textbox[1]{%
\parbox{.333\textwidth}{#1}%
}
\begin{document}
\noindent Left longer sample simple text\hfill Center?\hfill Right
\noindent\textbox{Left longer sample text\hfill}\textbox{\hfil Center\hfil}\textbox{\hfill Right}
\noindent\lipsum[2]
\end{document}
Bu yapı birçok kez kullanılacaksa, aşağıdaki örnekte tanımı ve kullanımı gösterilen (egreg'in \raggedleft
, \centering
ve \raggedright
ile ilgili önerisini de dahil ettiğim) \textline
komutu gibi bir komuta sahip olmak daha iyi olacaktır:
\documentclass{article}
\usepackage{lipsum}
\newcommand\textline[4][t]{%
\par\smallskip\noindent\parbox[#1]{.333\textwidth}{\raggedright\texttt{+}#2}%
\parbox[#1]{.333\textwidth}{\centering#3}%
\parbox[#1]{.333\textwidth}{\raggedleft\texttt{#4}}\par\smallskip%
}
\begin{document}
\lipsum[2]
\textline[t]{555\,555\,555}{Some Name}{[email protected]}
\lipsum[2]
\end{document}
Bu görev kutularla kolayca yerine getirilebilir:
\noindent
\makebox[0pt][l]{+999\,555\,999\,555}%
\makebox[\textwidth][c]{Ben Lee User}%
\makebox[0pt][r]{\texttt{[email protected]}}
Bu, çakışmaları kontrol etmez, ancak çakışma olasılığı çok düşüktür.
Bunun için bir makro şöyle olabilir
\newcommand{\headerline}[3]{%
\par\medskip\noindent
\makebox[0pt][l]{#1}%
\makebox[\textwidth][c]{#2}%
\makebox[0pt][r]{\texttt{#3}}\par\medskip}
olarak kullanılmak üzere
\headerline{+999\,555\,999\,555}{Ben Lee User}{[email protected]}
\newcommand{\headerline}[3]{%
\par\medskip\noindent
\makebox[\textwidth][s]{\rlap{#1}\hfill#2\hfill\llap{\texttt{#3}}}%
\par\medskip}