Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,8 @@ Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to

### Fixed

- Handling of whatsits at start of slide box (see issue
[\#217](https://github.com/josephwright/ltx-talk/issues/217))
- Behavior of `\temporal` (see issue
[\#224](https://github.com/josephwright/ltx-talk/issues/224))

Expand Down
78 changes: 47 additions & 31 deletions ltx-talk-frame.dtx
Original file line number Diff line number Diff line change
Expand Up @@ -113,7 +113,7 @@
\property_new:nnnn { slides } { now } { 1 } { \int_use:N \g_@@_slide_int }
% \end{macrocode}
%
% \begin{macro}{\@@_slide:nn}
% \begin{macro}{\@@_slide:nn, \@@_slide__aux:nn}
% \begin{macro}{\@@_slide_aux:n}
% Each slide is parsed inside simple set up, the only complexity being if we
% are handling fragile frames. There, all \cs{obeyedline} in the grabbed
Expand Down Expand Up @@ -143,38 +143,53 @@
\int_gzero:N \g_@@_slide_int
\RenewCommandCopy \frame \@@_latexe_frame:n
\bool_do_while:Nn \g_@@_slide_continue_bool
{
\int_gincr:N \g_@@_slide_int
\bool_gset_false:N \g_@@_slide_continue_bool
\@@_if_overlay:nT {#1}
{
\@@_slide_begin:
\bool_set_eq:NN \l_@@_slide_continue_bool
\g_@@_slide_continue_bool
\@@_if_overlay:VTF \l_@@_frame_tagging_str
{
\bool_gset_eq:NN \g_@@_slide_continue_bool
\l_@@_slide_continue_bool
\@@_frame_tag:n
}
{
\bool_gset_eq:NN \g_@@_slide_continue_bool
\l_@@_slide_continue_bool
\@@_frame_notag:n
}
{
\bool_if:NTF \l_@@_frame_verb_bool
{ \@@_slide_aux:n }
{ \use:n }
{#2}
}
\@@_slide_end:
}
}
{ \@@_slide_aux:nn {#1} {#2} }
\property_record:ee { frame . \int_use:N \g_@@_frame_int }
{ slides }
\group_end:
}
% \end{macrocode}
%. At the start of each slide, we are in vertical mode. That is switched back
%. to horizontal mode before we deal with any tagging whatsits, then back to
%. vertical mode once this is sorted.
% \begin{macrocode}
\cs_new_protected:Npn \@@_slide_aux:nn #1#2
{
\int_gincr:N \g_@@_slide_int
\bool_gset_false:N \g_@@_slide_continue_bool
\@@_if_overlay:nT {#1}
{
\@@_slide_begin:
\hbox:n
{
\tl_gclear:N \g_@@_onslide_tl
\bool_set_eq:NN \l_@@_slide_continue_bool
\g_@@_slide_continue_bool
\@@_if_overlay:VTF \l_@@_frame_tagging_str
{
\bool_gset_eq:NN \g_@@_slide_continue_bool
\l_@@_slide_continue_bool
\@@_frame_tag:n
}
{
\bool_gset_eq:NN \g_@@_slide_continue_bool
\l_@@_slide_continue_bool
\@@_frame_notag:n
}
{
\vbox:n
{
\bool_if:NTF \l_@@_frame_verb_bool
{ \@@_slide_aux:n }
{ \use:n }
{#2}
}
}
\tl_use:N \g_@@_onslide_tl
}
\@@_slide_end:
}
}
\cs_new_protected:Npn \@@_slide_aux:n #1
{
\group_begin:
Expand Down Expand Up @@ -208,6 +223,9 @@
% \end{variable}
%
% \begin{macro}{\@@_slide_begin:, \@@_slide_end:}
% Start and end the box holding all of the slide: we are in vertical mode
% here, and need to swap back to horizontal mode above to deal with
% whatsits.
% \begin{macrocode}
\cs_new_protected:Npn \@@_slide_begin:
{
Expand All @@ -217,11 +235,9 @@
\box_gclear:N \g_@@_footnote_box
\@@_cnt_save:
\vbox_set:Nw \l_@@_slide_box
\tl_gclear:N \g_@@_onslide_tl
}
\cs_new_protected:Npn \@@_slide_end:
{
\tl_use:N \g_@@_onslide_tl
\vbox_set_end:
\bool_if:NT \g_@@_slide_continue_bool
{ \@@_cnt_restore: }
Expand Down
Loading