For images we can use \centering
is there anything to position the image to right side or left side of the page.
For general text you can use \raggedright
and \raggedleft
to align the material to the left and right, respectively. To align images inside a figure
easily you can use the adjustbox
package which allows you to add alignment keys to \includegraphics
.
\documentclass{article}
\usepackage[export]{adjustbox}
\begin{document}
\begin{figure}
\includegraphics[width=.6\textwidth,center]{example-image}
\caption{centered image}
\end{figure}
\begin{figure}
\includegraphics[width=.6\textwidth,left]{example-image}
\caption{left aligned image}
\end{figure}
\begin{figure}
\includegraphics[width=.6\textwidth,right]{example-image}
\caption{right aligned image}
\end{figure}
\end{document}
For new documents, especially if many adjustbox
keys are used, I recommend to use the \adjustimage{<keys>}{<filename>}
macro instead of \includegraphics
. The export
option is then not required anymore. There is also the possibility to do the whole figure
using one \adjustimage
use by using the keys caption
, label
and figure
.
\documentclass{article}
\usepackage[export]{adjustbox}
\begin{document}
\begin{figure}
\adjustimage{width=.6\textwidth,center}{example-image}
\caption{centered image}
\end{figure}
% or even shorter
\noindent\adjustimage{width=.6\textwidth,center,caption={your caption},label={some label},figure}{example-image}
\end{document}
Consider the following examples:
\documentclass[12pt]{article}
\usepackage{showframe}
\usepackage[demo]{graphicx}
\begin{document}
\begin{figure}
\includegraphics{n}
\caption{\texttt{none}}
\end{figure}
\begin{figure}
\hfill\includegraphics{n}
\caption{\texttt{hfill}}
\end{figure}
\begin{figure}
\begin{flushright}% or better \raggedleft see comments below
\includegraphics{n}
\caption{\texttt{flushright}}
\end{flushright}
\end{figure}
\begin{figure}
\hfill\begin{minipage}{.5\textwidth}\centering
\includegraphics{n}
\caption{\texttt{minipage}}
\end{minipage}
\end{figure}
\end{document}
You can choose now. I personally prefer the minipage
approach.
-
I don't think you should use the
flushright
environment inside afigure
for the same reason as you shouldn't usecenter
. The vertical spacing might be wrong. – Martin Scharrer♦ Jan 13 '13 at 12:23 -
I agree, particularly because it is not necessary since
hfill
is sufficient. I just wanted to show a few more possibilities. I added a comment... – bloodworks Jan 13 '13 at 12:28
If it isn't a floating images you can use \flushright
or \flushleft
.
Also you may put \hfil
from the right or left of image block.
-
5
flushright
andflushleft
are intended as environments cfcenter
the analogues of\centering
are\raggedright
and\raggedleft
– David Carlisle Jan 13 '13 at 11:09