The beamer class uses the same default lengths for the left margin like the base classes: \leftmargini
, \leftmarginii
etc. So you could adjust those lenghts. For instance:
\setlength{\leftmargini}{0pt}
You may insert any value instead of 0pt
that fits for you.
Further requirements might require a redefiniton or patch of beamer's itemize environment. If you would like to have such complete control over the itemize environment, you could redefine it this way within your preamble:
\makeatletter
\renewcommand{\itemize}[1][]{%
\beamer@ifempty{#1}{}{\def\beamer@defaultospec{#1}}%
\ifnum \@itemdepth >2\relax\@toodeep\else
\advance\@itemdepth\@ne
\beamer@computepref\@itemdepth% sets \beameritemnestingprefix
\usebeamerfont{itemize/enumerate \beameritemnestingprefix body}%
\usebeamercolor[fg]{itemize/enumerate \beameritemnestingprefix body}%
\usebeamertemplate{itemize/enumerate \beameritemnestingprefix body begin}%
\list
{\usebeamertemplate{itemize \beameritemnestingprefix item}}
{\def\makelabel##1{%
{%
\hss\llap{{%
\usebeamerfont*{itemize \beameritemnestingprefix item}%
\usebeamercolor[fg]{itemize \beameritemnestingprefix item}##1}}%
}%
}%
}
\fi%
\beamer@cramped%
\raggedright%
\beamer@firstlineitemizeunskip%
}
\makeatother
Until now it's just a copy of the original! But since it's in your preamble, you can modify it.
For example, replace \hss\llap
by \rlap
and the bullets will align with the text around:
...
{\def\makelabel##1{%
{%
\rlap{{%
\usebeamerfont*{itemize \beameritemnestingprefix item}%
...
Within this redefinition you could adjust the LaTeX list length macros. This requires to know how to work with the LaTeX list environment.
In most documents, you can do this, which avoids the use of extra packages.
\let\tempone\itemize
\let\temptwo\enditemize
\renewenvironment{itemize}{\tempone\addtolength{\itemsep}{0.5\baselineskip}}{\temptwo}
(Stufazi suggested a neater way of doing this in his answer, which I will use below.)
However, I think that the frame
environment in beamer
resets the properties of itemize
. You could do something like this, but it will prevent frame
's optional arguments from working.
\documentclass{beamer}
\let\oldframe\frame
\renewcommand{\frame}{%
\oldframe
\let\olditemize\itemize
\renewcommand\itemize{\olditemize\addtolength{\itemsep}{100pt}}%
}
%
\begin{document}
\begin{frame}
\begin{itemize}
\item The first.
\item The second.
\item The third.
\end{itemize}
\end{frame}
%
\begin{frame}
\begin{itemize}
\item The fourth.
\item The fifth.
\item The sixth.
\end{itemize}
\end{frame}
%
\end{document}
Alternatively, you could try this, but I can't guarantee that it won't break something else.
\documentclass{beamer}
\newlength{\wideitemsep}
\setlength{\wideitemsep}{\itemsep}
\addtolength{\wideitemsep}{100pt}
\let\olditem\item
\renewcommand{\item}{\setlength{\itemsep}{\wideitemsep}\olditem}
%
\begin{document}
\begin{frame}
\begin{itemize}
\item The first.
\item<2-> The second.
\item<3-> The third.
\end{itemize}
\end{frame}
%
\begin{frame}[shrink=50]
\begin{itemize}
\item The fourth.
\item The fifth.
\item The sixth.
\end{itemize}
\end{frame}
%
\end{document}
It might be safer to define your own list environment based on itemize and use this in future; thus
\newenvironment{wideitemize}{\itemize\addtolength{\itemsep}{100pt}}{\enditemize}
This would avoid the necessity for hacks that have unwanted side effects.
Best Answer
You can
\renewcommand{\itemize}
and set the default overlay specification (after\begin{document}
):