The ", "``storage_location_key`` location names are ``'main'``, ``'carda'`` and ", "``'cardb'``. ", ../../__w/calibre/calibre/manual/template_lang.rst:379, "``booksize()`` -- returns the value of the calibre 'size' field. Instructions are shown in that dialog. If you have a lot of books in a series, and want them in a folder hierarchy like series/00-09/author/title, series/10-19/author/title.
", ../../__w/calibre/calibre/manual/template_lang.rst:145, "In the function documentation below, the notation ``[something]*`` means ", "that ``something`` can be repeated zero or more times. ", ../../__w/calibre/calibre/manual/template_lang.rst:89, ../../__w/calibre/calibre/manual/template_lang.rst:91, "Suppose you want the ``series_index`` to be formatted as three digits with ", ../../__w/calibre/calibre/manual/template_lang.rst:93, "``{series_index:0>3s}`` - Three digits with leading zeros", ../../__w/calibre/calibre/manual/template_lang.rst:95, ../../__w/calibre/calibre/manual/template_lang.rst:97, "``{series_index:0<3s}`` - Three digits with trailing zeros", ../../__w/calibre/calibre/manual/template_lang.rst:99, "If you use series indices with fractional values, e.g., 1.1, you might want ", "the decimal points to line up. This operator returns ``'1'`` if either the left-hand ", "or right-hand expression is True, or ``''`` if both are False. ``author:linkvalue`` pairs are separated by the ", "``pair_separator`` string argument with no added spaces. ", ../../__w/calibre/calibre/manual/template_lang.rst:650, "The lookup function lets us do even fancier processing. ", ../../__w/calibre/calibre/manual/template_lang.rst:450, "``iso :`` the date with time and timezone. ", ../../__w/calibre/calibre/manual/template_lang.rst:163, "``select(key)`` -- interpret the value as a comma-separated list of items ", "with each item having the form ``id:value`` (the calibre ``identifier`` ", "format). ", ../../__w/calibre/calibre/manual/template_lang.rst:536, "constant strings are enclosed in matching quotes, either ``'`` or ``, ../../__w/calibre/calibre/manual/template_lang.rst:538, "All the functions listed under `Single Function Mode` and `General Program ", ../../__w/calibre/calibre/manual/template_lang.rst:540, "In `TPM`, using ``{`` and ``}`` characters in string literals can lead to ", "errors or unexpected results because they confuse the template processor. Yes means the book is read, No means that the book is being read, and Unknown (empty) means that the book is to be read. This function can usually be replaced by the ", ../../__w/calibre/calibre/manual/template_lang.rst:514, "``today()`` -- return a date+time string for today (now). If ", "``localize`` is zero, return the strings in English. For example, ``character('newline')`` returns a newline ", "``return``, ``tab``, and ``backslash``. Returns ``lt`` if ``x < y``, ``eq`` if ``x == y``, ", "otherwise ``gt``. Using one, as in ", ../../__w/calibre/calibre/manual/template_lang.rst:87, "It is OK to provide no text for either the prefix or the suffix, such as in ", "``{series:|| - }``. The `articles` are those used by calibre to generate the ", ../../__w/calibre/calibre/manual/template_lang.rst:190, "``swap_around_comma()`` -- given a value of the form ``B, A``, return ``A ", "B``. If the name is not in the additional information ", "and if an ``expression`` is provided, the ``expression`` is evaluated and ", "the result is assigned to the local variable. ", ../../__w/calibre/calibre/manual/template_lang.rst:510, "``strcmp(x, y, lt, eq, gt)`` -- does a case-insensitive lexical comparison ", "of ``x`` and ``y``. For example, the following program produces the same ", ../../__w/calibre/calibre/manual/template_lang.rst:412, ../../__w/calibre/calibre/manual/template_lang.rst:421, "``first_matching_cmp(val, [ cmp, result, ]* else_result)`` -- compares ``val", " < cmp`` in sequence, returning the associated result for the first ", "comparison that succeeds. Aliases: ", "``list_count_matching()``, ``count_matching()``", ../../__w/calibre/calibre/manual/template_lang.rst:472, "``list_difference(list1, list2, separator)`` -- return a list made by ", "removing from ``list1`` any item found in ``list2`` using a case-insensitive", " comparison. The date is in `ISO ", "
In", " `TPM` you can use ``$`` to access the value specified by the ``lookup ", ../../__w/calibre/calibre/manual/template_lang.rst:545, ../../__w/calibre/calibre/manual/template_lang.rst:547, ":ref:`General Program Mode
If none of the strings match then ``not_found_value`` is ", "returned. For example, if you have a ", "custom series column named ``#myseries``, there will also be a column named ", "``#myseries_index``. ", ../../__w/calibre/calibre/manual/template_lang.rst:652, ../../__w/calibre/calibre/manual/template_lang.rst:654, "Create a composite field (give it lookup name #aa) containing ", "``{series}/{series_index} - {title}``. It differs from `General Program Mode` in that the ", "template is contained between ``{`` and ``}`` characters and doesn't begin ", "with the word ``program:``. To review, open the file in an editor that reveals hidden Unicode characters. To display a column containing the values of two series custom", " columns, separated by a comma, use ``{#series1:||,}{#series2}``. It uses ``re_group(item, search_re, template )`` when doing the", ../../__w/calibre/calibre/manual/template_lang.rst:477, "``list_remove_duplicates(list, separator)`` -- return a list made by ", "removing duplicate items in ``list``. ../../__w/calibre/calibre/manual/template_lang.rst:436, "``M :`` the month as number without a leading zero (1 to 12).
In some but not all ", "cases you can replace a ``{`` with ``[[`` and a ``}`` with `]]`. ", ../../__w/calibre/calibre/manual/template_lang.rst:115, "Composite columns can use any template option, including formatting. ", ../../__w/calibre/calibre/manual/template_lang.rst:269, "Logical and (``&&``). ", ../../__w/calibre/calibre/manual/template_lang.rst:404, "``divide(x, y)`` -- returns ``x / y``. This function works only in the GUI. Otherwise it returns ", ../../__w/calibre/calibre/manual/template_lang.rst:358, "``program: if field('series') == 'foo' || field('series') == '1632' then ", "'yes' else 'no' fi`` returns ``'yes'`` if series is either ``'foo'`` or ", ../../__w/calibre/calibre/manual/template_lang.rst:359, "``program: if '^(foo|1632)$' in field('series') then 'yes' else 'no' fi`` ", "returns ``'yes'`` if series is either ``'foo'`` or ``'1632'``, otherwise ", ../../__w/calibre/calibre/manual/template_lang.rst:360, "``program: if 11 > 2 then 'yes' else 'no' fi`` returns ``'no'`` because the ", "``>`` operator does a lexical comparison. The ", "functions are added by going to :guilabel:`Preferences -> Advanced -> ", "Template functions`. ", " For example, to display the title in upper case use the ``uppercase`` ", "function, as in ``{title:uppercase()}``. To display it in title case, use ", ../../__w/calibre/calibre/manual/template_lang.rst:126, "Functions go into the format part of the template, after the ``:`` and ", "before the first ``|`` or the closing ``}`` if no prefix/suffix is used.


