Estoy tratando de alinear algún texto a la izquierda/centro/derecha en la misma línea. Por ejemplo, quiero poner mi número de teléfono a la izquierda, mi nombre en el centro y mi correo electrónico a la derecha, ¿cómo lo hago?
El uso de hfill
no necesariamente resultará en que el texto del medio esté centrado, como lo demuestra el ejemplo de abajo. Si desea colocar el texto de tal manera que el texto del medio esté realmente centrado, sugeriría usar parbox
, como muestra el ejemplo (utilicé el comando lipsum[2]
para generar un texto que se utilizara sólo como referencia):
\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}
introduzca la descripción de la imagen aquí
Si esta construcción se va a utilizar muchas veces, sería mejor tener un comando; algo parecido al comando "textline" cuya definición y uso se ilustran en el siguiente ejemplo (en el que también he incorporado la sugerencia de egreg'sobre "draggedleft", "centering" y "draggedright"):
\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}
La tarea se realiza fácilmente con cajas:
\noindent
\makebox[0pt][l]{+999\,555\,999\,555}%
\makebox[\textwidth][c]{Ben Lee User}%
\makebox[0pt][r]{\texttt{[email protected]}}
Esto no comprueba si hay solapamientos, pero la posibilidad de obtener solapamientos es muy pequeña.
Una macro para ello podría ser
\newcommand{\headerline}[3]{%
\par\medskip\noindent
\makebox[0pt][l]{#1}%
\makebox[\textwidth][c]{#2}%
\makebox[0pt][r]{\texttt{#3}}\par\medskip}
para ser usada como
\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}