# Tag Info

7

They mean something like \documentclass[graybox,envcountchap,sectrefs]{svmono} but with smallextended in the options between [] and perhaps a different class than svmono depending on your requirements. Springer have extensive documentation and examples in a zip file you can download from ...

6

\documentclass{article} \usepackage[T1]{fontenc} \def\foo#1{\par \texttt{<\detokenize{#1}>} \expandafter\if\relax\detokenize\expandafter{\romannumeral0#1}\relax \if X#1X% empty\else not empty\fi \else not empty\fi} \begin{document} \foo{} \foo{ } \foo{\empty} \foo{{}} \foo{\sqrt} \foo{\csname @gobble\endcsname{hello}} \end{document}

6

It's quite easy with xparse: \documentclass{article} \usepackage{xparse} \NewDocumentCommand{\range}{ m >{\SplitArgument{1}{ }}m } {% \dorange{#1}#2% } \NewDocumentCommand{\dorange}{ m m m } {% \IfNoValueTF{#3}{#1~#2}{#1[]~#2--#3}% } \NewDocumentCommand{\defineabbreviation}{ m m m } {% \NewDocumentCommand{#1}{o}{\IfNoValueTF{##1}{#2}{#3}}% ...

5

A macro that supports complex ranges must use the full force of expl3. Here's a possible solution: \documentclass{article} \usepackage{xparse} \ExplSyntaxOn \NewDocumentCommand{\range}{ m m } { \cashner_range:nn { #1 } { #2 } } \tl_new:N \l__cashner_range_input_tl \seq_new:N \l__cashner_range_input_seq \bool_new:N \l__cashner_range_multi_bool ...

5

You can use a \romannumeral trick: \if\relax\detokenize\expandafter{\romannumeral-\Q#1}\relax The missing space after \Q will trigger expansion of #1 (after macro substitution, of course). Since this expansion ends at the first unexpandable token, this should be what you want. However a leading space will be ignored. \def\notempty{\relax} ...

5

\documentclass[11pt,spanish,a4paper]{article} \usepackage[T1]{fontenc} \usepackage[utf8]{inputenc} OK so far except that theses usually have chapters so book or report might be preferable. \setlength{\parskip}{2ex} \setlength{\parindent}{0pt} Better to use parskip: \usepackage{parskip}% but do you really want no indentation in a thesis? ...

4


1

The best way to define new macros is to use the etoolboxs \csdef: Notes: Note that \aa is already defined., so you should use an alternate name. As \csdef won't issue an error in that case, I have added a test to make sure that the code issues an error if you attempt to redefine an existing macro. You can also use \csname...\endcsname to build names of ...

1

The two-line solution which uses only TeX primitives follows: \def\sdef#1{\expandafter\def\csname#1\endcsname} \def\mkMac#1{\sdef{the#1}{The macro #1}\sdef{#1}##1{\sdef{the#1}{##1}}} \mkMac{affilation} \affilation{University} Welcome to \theaffilation

1

As mentioned in the comments, you have two simple options that I present below. However, I'm not quite sure what you are after. \documentclass{minimal} \usepackage{forest} \forestset{ with translation/.style={ l sep=0,inner xsep=0, append translation/.expanded/.wrap pgfmath arg={\gettranslation{##1}}{content}, content/.expanded/.wrap ...

1

Have you tried the ifmtarg package? It provides the macro \@ifmtarg{<arg>}{<Code for arg empty>} {<Code for arg not empty>} Use texdoc ifmtarg for the documentation.

1

You can define a new template based on the frame number one for footline: \documentclass[compress,final]{beamer} \usepackage{ragged2e} % for justifying \usepackage{lipsum} % for random texts \usepackage{geometry} \geometry{lmargin=.5cm, rmargin=.5cm} ...

Only top voted, non community-wiki answers of a minimum length are eligible