Joseph Wright avatar Joseph Wright committed 0056eef

Extend \includeonlylecture to acept a comma-list (fixes issue #37)

This uses a LaTeX3-like comma-list serach function, but with no e-TeX
the if-empty part is not quite so robust.

Comments (0)

Files changed (1)

base/beamerbasesection.sty

 \newif\ifbeamer@inlecture
 \beamer@inlecturetrue
 
+\newcommand{\beamer@if@in@clist@TF}[2]{%
+  \def\beamer@if@in@clist@aux##1,#2,{}%
+  \expandafter\expandafter\expandafter\ifx
+    \expandafter\expandafter\expandafter\@nil
+    \expandafter\beamer@if@in@clist@aux\expandafter,#1,{}{},#2,\@nil
+    \expandafter\@secondoftwo
+  \else
+    \expandafter\@firstoftwo
+  \fi
+}
+
 \newcounter{lecture}
 \renewcommand\thelecture{\@arabic\c@lecture}
 \let\insertlecturenumber=\thelecture
   \def\beamer@shortlecturename{#1}
   \ifx\beamer@onlylecture\@empty
   \else
-    \ifx\beamer@currentlecturelabel\beamer@onlylecture
-      \beamer@inlecturetrue
-    \else
-      \beamer@inlecturefalse
-    \fi
+    \expandafter\beamer@if@in@clist@TF\expandafter\beamer@onlylecture
+      \beamer@currentlecturelabel
+      {\beamer@inlecturetrue}
+      {\beamer@inlecturefalse}
   \fi
   \beamer@atbeginlecture
   \beamer@resumemode
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.