Skip to content

Instantly share code, notes, and snippets.

@zr-tex8r
Created September 17, 2012 08:30
Show Gist options
  • Save zr-tex8r/3736186 to your computer and use it in GitHub Desktop.
Save zr-tex8r/3736186 to your computer and use it in GitHub Desktop.
TeX Puzzle: Counting tokens in a given token list in an expandable way
^^5cdef^^5c^^6ce^^6e^^67^^74^^68^^7b^^5c^^78^^78^^40^^6ce^^6e^^40^^69^^6e^^69^^7d
^^5cdef^^5c^^78^^78^^40^^71^^40^^6dc^^7b^^5c^^6e^^6fe^^78^^70a^^6ed^^5c^^78^^78^^40^^71^^40^^6dc^^40^^7d
^^5cdef^^5c^^78^^78^^40^^71^^40^^6d^^6b^^7b^^5c^^6e^^6fe^^78^^70a^^6ed^^5c^^78^^78^^40^^71^^40^^6d^^6b^^40^^7d
^^5cdef^^5c^^78^^78^^40ca^^72^^231^^232^^7b^^231^^7d
^^5cdef^^5c^^78^^78^^40cd^^72^^231^^232^^7b^^232^^7d
^^5cdef^^5c^^78^^78^^40^^67b^^6c^^231^^7b^^7d
^^5cdef^^5c^^78^^78^^40^^6d^^74^^7b^^7d
^^5cdef^^5c^^78^^78^^40^^69f^^78^^231^^7b^^5c^^69f^^78^^231\expandafter^^5c^^78^^78^^40ca^^72^^5ce^^6c^^73e\expandafter^^5c^^78^^78^^40cd^^72^^5cf^^69^^7d
^^5cdef^^5c^^78^^78^^40^^69f^^6d^^74^^231^^7b^^5c^^78^^78^^40^^69f^^78^^7b^^5c^^78^^78^^40^^71^^40^^6dc^^231^^5c^^78^^78^^40^^71^^40^^6dc^^7d^^7d
^^5cdef^^5c^^78^^78^^40^^6ce^^6e^^40^^69^^6e^^69^^231^^7b^^5c^^78^^78^^40^^6ce^^6e^^7b^^231^^7b^^5c^^78^^78^^40^^6d^^74^^7d^^7d^^7d
^^5cdef^^5c^^78^^78^^40^^6ce^^6e^^231^^7b^^5c^^78^^78^^40^^6ce^^6e^^40a^^231^^5c^^78^^78^^40^^71^^40ea^^5c^^78^^78^^40^^71^^40eb^^7d
^^5cdef^^5c^^78^^78^^40^^6ce^^6e^^40a^^231^^23^^7b^^5c^^78^^78^^40^^6ce^^6e^^40^^70^^68^^7b^^231^^7d^^5c^^78^^78^^40^^6ce^^6e^^40b^^7d
^^5cdef^^5c^^78^^78^^40^^6ce^^6e^^40b^^231^^232^^5c^^78^^78^^40^^71^^40eb^^7b^^5c^^78^^78^^40^^6ce^^6e^^40c^^7b^^231^^7d^^232^^232^^7d
^^5cdef^^5c^^78^^78^^40^^6ce^^6e^^40c^^231^^232^^5c^^78^^78^^40^^71^^40ea^^7b^^5c^^78^^78^^40^^69f^^6d^^74^^7b^^232^^7d^^7b^^5c^^78^^78^^40^^6ce^^6e^^40f^^69^^6e^^7d^^7b^^5c^^78^^78^^40^^6ce^^6e^^40d^^7b^^231^^7d^^5c^^78^^78^^40^^71^^40eb^^7d^^7d
^^5cdef^^5c^^78^^78^^40^^6ce^^6e^^40d^^231^^232^^5c^^78^^78^^40^^71^^40ea^^7b^^5c^^78^^78^^40^^6ce^^6e^^40^^67^^72^^7b^^231^^7d^^5c^^78^^78^^40^^6ce^^6e^^40e^^7b^^232^^7d^^7d
^^5cdef^^5c^^78^^78^^40^^6ce^^6e^^40e^^231^^7b\expandafter^^5c^^78^^78^^40^^6ce^^6e\expandafter^^7b^^5c^^78^^78^^40^^67b^^6c^^231^^7d^^7d
^^5cdef^^5c^^78^^78^^40^^6ce^^6e^^40f^^69^^6e^^231^^5c^^78^^78^^40^^71^^40ea^^7b^^7d
^^5cdef^^5c^^78^^78^^40^^6ce^^6e^^40^^67^^72^^7b^^5c^^78^^78^^40c^^6f^^75^^6e^^74^^5c^^78^^78^^40c^^6f^^75^^6e^^74^^5c^^78^^78^^40^^6ce^^6e^^40^^69^^6e^^69^^7d
^^5cdef^^5c^^78^^78^^40^^6ee^^78^^74^^231^^7b^^25
^^5cdef^^5c^^78^^78^^40^^6ce^^6e^^40^^70^^68^^23^^231^^7b^^5c^^78^^78^^40^^6ce^^6e^^40^^70^^68^^40a^^7b^^23^^231^^231^^7d^^7d^^25
^^5cdef^^5c^^78^^78^^40^^6ce^^6e^^40^^70^^68^^40a^^23^^231^^7b^^5c^^78^^78^^40^^6ce^^6e^^40^^70^^68^^40b^^23^^231^^5c^^78^^78^^40^^71^^40ec^^7d^^25
^^5cdef^^5c^^78^^78^^40^^6ce^^6e^^40^^70^^68^^40b^^23^^231^^231^^23^^232^^5c^^78^^78^^40^^71^^40ec^^7b^^5c^^78^^78^^40^^6ce^^6e^^40c^^6c^^7b^^23^^231^^7d^^5c^^78^^78^^40^^6ce^^6e^^40^^70^^68^^40c^^7b^^23^^232^^7d^^7d^^25
^^5cdef^^5c^^78^^78^^40^^6ce^^6e^^40^^70^^68^^40c^^23^^231^^7b^^5c^^78^^78^^40^^69f^^6d^^74^^7b^^23^^231^^7d^^7b^^7d^^7b^^5c^^78^^78^^40c^^6f^^75^^6e^^74^^5c^^78^^78^^40^^6ce^^6e^^40^^70^^68^^40a^^7b^^23^^231^^7d^^7d^^7d^^25
^^7d^^5c^^78^^78^^40^^6ee^^78^^74^^7b^^20^^7d
^^5cdef^^5c^^78^^78^^40^^6ce^^6e^^40c^^6c^^231^^7b^^5c^^78^^78^^40^^6ce^^6e^^40c^^6c^^40a^^231^^5c^^78^^78^^40^^71^^40^^6d^^6b^^7d
^^5cdef^^5c^^78^^78^^40^^6ce^^6e^^40c^^6c^^40a^^231^^7b^^5c^^78^^78^^40^^69f^^78^^7b^^231^^5c^^78^^78^^40^^71^^40^^6d^^6b^^7d^^7b^^7d^^7b^^5c^^78^^78^^40c^^6f^^75^^6e^^74^^5c^^78^^78^^40^^6ce^^6e^^40c^^6c^^40a^^7d^^7d
^^5cdef^^5c^^78^^78^^40c^^6f^^75^^6e^^74^^7b^^2a^^7d
% \length{<tl>} must full-expand to a token list that consists of
% as many '*' as the number of tokens in <tl>.
\documentclass{article}
\usepackage{bxtllength}
\edef\result{\length{ \a {b\cd ef{g} }\h }}% has 13 tokens
\show\result %==>*************
\edef\result{\length{{ }{ {}} {}}}% has 11 tokens
\show\result %==>***********
\begin{document}
\end{document}
@zr-tex8r
Copy link
Author

The code in bxtllength.sty is obfuscated, since it contains the solution to the puzzle.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment