Unwanted LuaSnips behaviour

Basically I’m following this guide to writing snippets in neovim using LuaSnips. One of the first steps in the basic configuration is to set some key bindings to jump through the snippet tabstops, like so

    imap <silent><expr> <C-f> luasnip#jumpable(1) ? '<Plug>luasnip-jump-next' : '<C-f>'
    smap <silent><expr> <C-f> luasnip#jumpable(1) ? '<Plug>luasnip-jump-next' : '<C-f>'

I have tried to set this to ctrl f as above, or shift+tab, or jk, but it never works i.e. the cursor does not jump to the next tablestop. The snippet is well written, because it’s copied from an example.

Can you help me figure out what’s going on? These are other plugins I use, in case you notice obvious conflicts.

    return require('packer').startup(function(use)
      use 'wbthomason/packer.nvim'
      use 'sainnhe/gruvbox-material'
      use 'navarasu/onedark.nvim'
      use 'lervag/vimtex'
      use {
      requires = {
        'nvim-tree/nvim-web-devicons', -- optional, for file icons
      use 'machakann/vim-sandwich'
      use 'nvim-treesitter/nvim-treesitter'
      if packer_bootstrap then
      use {
      requires = { 'kyazdani42/nvim-web-devicons', opt = true }
      use {
      'nvim-telescope/telescope.nvim', tag = '0.1.0',
    -- or                            , branch = '0.1.x',
      requires = { {'nvim-lua/plenary.nvim'} }
      use {
            -- follow latest release.
            tag = "v<CurrentMajor>.*",
            -- install jsregexp (optional!:).
            run = "make install_jsregexp"