1

I want to align an ordinary list (bullets on the left) to the right side of the page. That is, the longest element of the list should be aligned with the right, and the rest of the list should be aligned ordinarily with the list. Here is a sketch in case it is unclear what I am asking: http://imgur.com/a/5Svqr

I have read this (how to right-align on a page a block of multi-lined text which is itself left-aligned within the block?), and it's exactly what I want, but I cannot find the width of the item including the bullet point. Any ideas?

EDIT: I should also add that I am using the following commands with the list environment: I am using the following commands with itemize: \begin{itemize}[wide, leftmargin=*, labelsep = 0.75em, align=center].

Thanks.

0

It is easiest to measure the width of your own fake itemize environment. Here you can define a newcommand to replace the original item and measure the longest item using \widthof from the calc package. Here is an example:

\documentclass[12pt,a4paper]{article}
\usepackage{calc}
\usepackage{showframe}
\begin{document}

\newcommand{\ritem}{~~\llap{\textbullet}~~}

\null\hfill\parbox{\widthof{\ritem Some company that has a long name}}{%
\ritem Office 123\par   
\ritem Some building \par  
\ritem Some company that has a long name\par
\ritem Some city, some zip 12345\par
\ritem Some country
}

\end{document}

enter image description here

Another simpler option is to use a tabular to avoid the calculation all together.

\documentclass[12pt,a4paper]{article}
\usepackage{showframe}
\begin{document}

\newcommand{\ritem}{~~\llap{\textbullet}~~}

\null\hfill%
\begin{tabular}{@{}l@{}}
\ritem Office 123 \\   
\ritem Some building \\  
\ritem Some company that has a long name \\
\ritem Some city, some zip 12345 \\
\ritem Some country
\end{tabular}

\end{document}

EDIT:

Here is the solution with the specifications of itemize provided. BTW, I removed the align = center, there is no such option.

\documentclass[12pt,a4paper]{article}
\usepackage{showframe}
\usepackage{enumitem,calc}
\begin{document}

\null\hfill%
\parbox{\widthof{\textbullet\hspace{.75em}Some company that has a long name}}{%
\begin{itemize}[leftmargin=*, labelsep = 0.75em]
\item Office 123    
\item Some building  
\item Some company that has a long name 
\item Some city, some zip 12345 
\item Some country
\end{itemize}
}

\end{document}
  • Excellent, thank you! I will mark this as correct soon, but I have a followup question (and will edit the original post): I am using the following commands with itemize: \begin{itemize}[wide, leftmargin=*, labelsep = 0.75em, align=center]. Is there a way to account for this with your method? Thank you. – user127496 Mar 12 '17 at 23:31
  • @user127496: I provided a solution with your exact itemize specifications. – AboAmmar Mar 12 '17 at 23:56
1

A solution with package listliketab, which emulates an itemize environment within a tabular. I defined a new tabitemise environment, and \tabitem commands, which you can use as itemize and item. Contents of each item has to be one-lined.

\documentclass{article}
\usepackage[showframe, nomarginpar]{geometry}
\usepackage{listliketab}
\newcommand{\tabitem} {\textbullet & }
\newenvironment{tabitemise}{
\par\storestyleof{itemize}
\listliketab
\tabular[t]{@{}Ll@{}}%
}{%
\endtabular\endlistliketab
}

\begin{document}

Some text some text some text some text some text some text some text some text some text some text some text some text some text.

\raggedleft
\begin{tabitemise}
  \tabitem First item.\\
  \tabitem A longer second item\\
  \tabitem A much longer, last, not least, item
\end{tabitemise}

\end{document} 

enter image description here

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy