2

I have a list of words, which may get bigger also, and I want to put them in a latex using beamer package (that means, make a presentation with those words). The first and obvious problem is that they cant fit on one slide. Second thing is that I want to sort it (but not manually). Important fact is that this list of words may grow.

So, for example, I can make a list of words, sort them and split them into slides, but the problem would be when I add new words, because then I would need to change everything. So, what is the best way to do this? (Perhaps putting words in a table? or using lists? or something else)

EDITED: pictures...example 1 example 2

  • Sorting and other stuff is possible but how do you put them in a presentation? Vertically ? Inline? Please make an example of words put on a slide that is overflowing so that we understand the problem – percusse Sep 27 '15 at 9:39
  • If you like to automatically distribute your list between successive slide, add option allowdisplaybreaks to the frame: \begin{frame[allowdisplaybreaks]. To see if this is what you looking for, please make an example as already percusse suggest. – Zarko Sep 27 '15 at 10:24
  • Presumably you want a multi-column list, with automatic column breaks? – Brent.Longborough Sep 27 '15 at 10:30
  • Well, perhaps multi-column list with automatic column breaks can help as well. I added example pictures. I prefer the first picture, but it doesnt really have to look exactly like that. – Ivan Sep 27 '15 at 11:21
  • Another thing came to my mind: maybe it would be good to put only one word per slide (but sorted words as well). I think this would be easier to do. – Ivan Sep 27 '15 at 11:29
3

Use datatool to read, sort, and iterate over the words. What you do with them is largely up to you (except that anything columnar won't break across pages). If this wordlist got really long, I'd move the sorting to an external tool. datatool seems slow to sort a list of 100 or so words. Excerpts from a 128-page PDF:

enter image description here

\documentclass{beamer}
% https://en.wikipedia.org/wiki/Most_common_words_in_English
\begin{filecontents*}{\jobname.txt}
time
person
year
way
day
thing
man
world
life
hand
part
child
eye
woman
place
work
week
case
point
government
company
number
group
problem
fact
be
have
do
say
get
make
go
know
take
see
come
think
look
want
give
use
find
tell
ask
work
seem
feel
try
leave
call
good
new
first
last
long
great
little
own
other
old
right
big
high
different
small
large
next
early
young
important
few
public
bad
same
able
to
of
in
for
on
with
at
by
from
up
about
into
over
after
beneath
under
above
the
and
a
that
I
it
not
he
as
you
this
but
his
they
her
she
or
an
will
my
one
all
would
there
their
\end{filecontents*}

% Get data and sort it
\usepackage{datatool}
\DTLloaddb[noheader,keys={word}]{words}{\jobname.txt}
\dtlsort{word=ascending}{words}{\dtlletterindexcompare}

\begin{document}
\begin{frame}[allowframebreaks]
\frametitle{Just a bunch of sorted words}
\DTLforeach{words}{%
\word=word}{
\word}
\DTLforeach{words}{%
\word=word}{
\word}
\end{frame}

\begin{frame}[allowframebreaks]
\frametitle{An itemized list}
\begin{itemize}
\DTLforeach{words}{%
\word=word}{
\item \word}
\end{itemize}
\end{frame}

\DTLforeach{words}{%
\word=word}{
\begin{frame}
\frametitle{One word per frame: \word}
\word
\end{frame}
}

\end{document}

Your Answer

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

Not the answer you're looking for? Browse other questions tagged or ask your own question.