{etoolbox} is a package which provides several macros which take advantage of the {e-tex} extension of (La)TeX.
2
votes
2answers
22 views
Using \ifstrequal in a fontspec macro
Here is my Minimal Failing Example:
\documentclass{article}
\usepackage{fontspec,etoolbox}
\setmainfont{TeX Gyre Schola}
\begin{document}
\newcommand\Stretch[1]{
\ifstrequal{#1}{narrow}{0.6}{}
...
5
votes
1answer
43 views
Why is \patchcmd not working when also using \@ifclassloaded? [duplicate]
Why do these two MWEs produce different effects?
\documentclass{article}
\usepackage{etoolbox}
\makeatletter
\def\aeloaded{Not loaded}
\def\aechanged{Not changed}
\patchcmd{\l@section}
...
3
votes
0answers
30 views
Integer operations on cross references [duplicate]
I would like to perform integer operations on a cross reference.
\documentclass{article}
\usepackage{etoolbox}
\begin{document}
hello \label{here}
\ifnumequal{\pageref{here}}{1}{You are on the 1st ...
9
votes
2answers
80 views
Provide boolean from two arguments case insensitives
In most publications scientific names are abbreviated except the first time. Moreover, the names must be in italics and only the first letter of the generic name should be upper-case.
The biocon ...
1
vote
1answer
113 views
Solutions in exam class
I'm trying to write up solutions to some exercises, using the exam class. In order to align equations correctly, I'm also using the aligned environment from amsmath.
To avoid too much repetitious ...
5
votes
2answers
45 views
Chapter count not increasing
Consider the following MWE:
\documentclass[12pt,twoside,letterpaper]{report}
\usepackage{etoolbox}
\newcounter{totchapters}
\providecommand\totchap{}
\makeatletter
\AtEndDocument{%
...
12
votes
2answers
97 views
Patching arguments inside a macro
Consider the following example of a patch using etoolbox and a dummy macro \abc:
\documentclass{article}
\usepackage{etoolbox}% http://ctan.org/pkg/etoolbox
\newcommand{\abc}[2]{#1\ #2}% Magic ...
2
votes
1answer
44 views
Empty page on the Part page
I'm using this on my document (scrartcl documentclass):
\usepackage{etoolbox}
\pretocmd{\section}{\cleardoubleevenemptypage}{}{}
\pretocmd{\part}{\cleardoubleevenemptypage}{}{}
This makes me get ...
11
votes
3answers
145 views
Understanding etoolbox \ifdefempty and \ifdefvoid
I am trying to understand the etoolbox \ifdefempty and \ifdefvoid macros. The documentation says that \ifdefempty
Expands to true if the control sequence is defined and is a
parameterless macro ...
7
votes
4answers
151 views
Special macro definition
How can you define a macro \cmd in TeX primitives using two optional arguments (and a mandatory one) that fulfills the property that calling \cmd[opt]{mand} is equivalent to \cmd[][opt]{mand}. Yet, i ...
8
votes
2answers
77 views
Getting \let definitions from inside a group, inside a loop
I have the following nested loop situation:
\begingroup
\def\do##1{%
\begingroup
\def\do####1{%
\csletcs{somemacro@##1@####1}{someothermacro@##1@####1}}%
...
1
vote
0answers
30 views
Creating a csname from a macro [duplicate]
Say I have a macro \bob and that macro is passed to another macro as an argument:
\makemacro{\bob}
I want \makemacro to create another macro, based on the name of the passed macro, say \bob@two.
...
6
votes
1answer
57 views
set pdfauthor using complex list-processing macro
I have created a macro, \joinlist, that adds commas or other delimiters between the elements of an etoolbox internal list. It has special handling for lists of just two elements ("a and b"). It also ...
6
votes
1answer
57 views
Why doesn't font family change take effect when using AtBeginEnvironment{figure} together with memoir?
I'm trying to use \AtBeginEnvironment{figure} to customize the font family and font size used in figures. However, it doesn't seem to have any effect. Here is a minimal example:
...
4
votes
2answers
101 views
Upright bold greek with condition in math mode
Good day!
I googled the whole stackechange, but was not able to find the answer. I'm quite new to Latex, so my approach is not proper. I try to define a macro, that should format greek letter as ...
6
votes
2answers
113 views
Delaying command expansion that appears in \begin handler until \end handler executes
I have a custom environment for handling a code interface declaration that is specified as:
\begin{decl}{FOO}
\param{in}{bar} the bar input parameter
\param{out}{baz} the baz input parameter
...
3
votes
1answer
35 views
\setbool not respected in footnote?
Can someone explain why \setbool (from etoolbox) is not respected when used in a command only used in a footnote?
\documentclass[12pt]{article}
\usepackage{etoolbox}
\newcommand{\longshort}[1][]{%
...
3
votes
1answer
88 views
Preprocessing without compiling with etoolbox
I want to know if it is possible to do preprocessing without compiling with the etoolbox package. Basically, I want to do the following. Given a file of the following format:
...
15
votes
2answers
189 views
Difference between \newbool and \newtoggle from etoolbox package
Paul Gaborit's answer to How to detect if option provided via \tikzset uses
\newbool to define a new boolean
\booltrue to set a boolean, and
\ifbool to perform a conditional operation
all from ...
7
votes
1answer
98 views
Getting a random sublist from a given list
The etoolbox package provides macros to handle list, which can be useful to package/class writers, however it miss macros to get random sublists.
So I want to define the following macros:
...
3
votes
1answer
81 views
how to comment text depending on a number
I have a latex document with 24 questions labeled with numbers from 1 to 8. I want to give a number x between 1 and 8 to latex in the preamble so that all the questions become commented except the ...
8
votes
2answers
85 views
Ease the handling of labels
I want to ease the handling of labels in my document, and I want to show the label for a section if define a "variable".
Currently I'm doing it like this
Setting the up the "variable":
...
1
vote
1answer
78 views
Hyperref link jumps to the first entry of the bibliography entry rather than to its title [duplicate]
This is a follow-up question to Gonzalo Medina's answer of Bibliography in table of contents. One of his solutions for including the bibliography in the ToC is to use the following code:
...
6
votes
1answer
159 views
Applying condition around \intertext and \shortintertext leaves excess vertical space
When I try to make either \intertext or \shortintertext conditional I get excess vertical spacing prior to the conditional text as per the MWE below. Note the excess vertical spacing prior to "Albert ...
8
votes
2answers
148 views
Patch tabular environment with colorbox
I'm trying to quickly add a colored background using colorbox to all tables as shown in this answer. While I could just update all the TeX by hand, I am trying to patch the tabular environment to ...
1
vote
1answer
70 views
Problem if csv list is stored in macro for later use with \forcsvlist
I need to store a csv list for later use in the end code part of an environment.
Can somebody explain me what's going wrong in the following example?
\documentclass{article}
\usepackage{etoolbox}
...
1
vote
1answer
67 views
generalize \iftoggle in etoolbox
I am using nested loop conditional \iftoggle of etoolbox, is there any other generalized conditional? Usually it works as:
\newtoggle{name}
\settoggle{name}{true}
\iftoggle{name}{do if name is ...
10
votes
1answer
81 views
Save an etoolbox list to a file … and read it after
I have a problem. I would like :
to construct an etoolbox list
to save this list in a temp file
to read this list from this file at the next run
to use this file.
For any reason, I can't see the ...
5
votes
3answers
168 views
Correct way of test blank element in array
I'm trying to test whether an element in a defined list (array) is "empty." I tried using the \empty macro, or putting white spaces inside the quote, but nothing seems to work. I'm testing the ...
13
votes
1answer
250 views
Help automating calendar creation
I'm doing calendars for all the family, and I have a problem automating the process. I'm using the calendar tikz library.
I need to include the moon phase in the calendar. I can do it with this code
...
4
votes
1answer
274 views
Conflict between ntheorem and amsthm
I am using etoolbox and ntheorem packages to have a custom numbering of theorems and equations. Everything works but these side errors occur:
\qedhere command is unknown (EDIT: following some ...
7
votes
2answers
329 views
Auto-generating tables using etoolbox
I have a particular problem which I am trying to solve using etoolbox, but I can't figure out how. What I'm trying to do is to auto-generate a table based on information from a previous table. This is ...
9
votes
3answers
203 views
Create macro with several options
I struggle to create a macro that can take several options. What I want to create is for \mycommand[up,middle]{Macro} to output Macro with 'up' and 'middle' specified. Using etoolbox in the MWE below ...
13
votes
3answers
276 views
Get n-th element of a list (with etoolbox, or not)
I'm defining a list and I need to obtain the n-th element of this list. I was surprised that etoolbox doesn't provide a way to obtain it. The way I found to obtain the n-th element is along these ...
2
votes
1answer
68 views
etoolbox patch lstlistings
This is a follow up question to empty page afterpage listings.
I'm trying to work around a listings problem with etoolbox:
\documentclass{scrartcl}
\usepackage{listings}
\usepackage{afterpage}
...
3
votes
1answer
138 views
etoolbox's iftoggle vs verbatim
My problem is that I can set up toggles, using etoolbox's \newtoggle{x}, set it to true with \toggletrue{x} and even use it with iftoggle{x}{this for true}{this for false}. However, if I try to put a ...
6
votes
2answers
136 views
How to append code to a section?
In my scrartcl document I want to change the spacing between sections and the first paragraph. Since I am using the parskip package, the parskip is set to a non-zero value. The \section command uses ...
6
votes
2answers
137 views
Using etoolbox macros in tikz foreach loops
I am trying to wrap my head around etoolbox for use with TikZ. In this example (I know there are probably simpler ways to do this), I would like to draw a series of rectangles that are next to each ...
3
votes
2answers
175 views
Make a PDF bookmark point towards title
I've been using the bookmark package to add custom PDF bookmarks to my thesis. More specifically, I started using this package because I didn't want the the ToC, LoF and LoT to appear in the ToC, but ...
11
votes
1answer
170 views
Using etoolbox to automatically generate input for \xymatrix
I'd like to make a command \exactseq such that, for example,
\exactseq{A,f,B,g,C}
corresponds to
\xymatrix{A \ar[r]^{f} & B \ar[r]^{g} & C}
and such that this works for inputs of ...
6
votes
2answers
156 views
Using \notblank in etoolbox's \ifboolexpr statment
As the title says, I am currently trying to use etoolbox's \ifboolexpr statment on \notblank conditions but I am having issues with it.
The code concerned looks like this :
\ifboolexpr{%
test ...
2
votes
1answer
142 views
Phantom and etoolbox iftoggle
Is there a way to conditionally 'phantom' parts of my document (without typing the same 'phantomed' text twice)?
Currently, I am using the etoolbox package, newtoggle/settoggle, and iftoggle to ...
1
vote
1answer
43 views
In output PDF, first letter after \iftoggle condition is removed
When iftoggle condition is used, first letter after the condition is removed in the output. Consider below code
\documentclass{article}
\usepackage{etoolbox}
\begin{document}
\newtoggle{test}
...
3
votes
0answers
153 views
Sorting list with etoolbox [closed]
I would like make a listing of shortseries fields in my .bib file. I see etoolbox can help make to made a list of themes and to loop on them. My idea is :
for each entry, add the shortseries and ...
3
votes
1answer
626 views
Command \AtBeginEnvironment already defined
I am pretty new to LaTeX. With windows, Miktex/Texmaker pretty-much takes care of package installation whenever needed, but on Ubuntu I have been downloading needed packages from CTAN and installing ...
10
votes
1answer
141 views
Problems with mathtools package
The following code produces an error. If the mathtools package is removed, it works. Why?
\documentclass{report}
\usepackage{mathtools}
\usepackage{etoolbox}
\newbool{shorttoc}
\makeatletter
...
8
votes
2answers
227 views
Trouble changing font size in figure legends
I'm trying to set the font size smaller in the legends for all of my figures and tables. The way I was trying to do this was using \AtBeginEnvironment but that doesn't seem to do anything at all. This ...
2
votes
1answer
83 views
Append the contents of an environment to a hook using \gappto
I have a global hook (=macro) that should be appended to whenever an environment is executed. (Here, defined by the \bhook-\ehook pair.) However, I was unable to derive a working solution.
...
6
votes
1answer
113 views
On pitfalls of robust commands
These days, I’m more and more defining robust commands, e.g., using \newrobustcmd (etoolbox package) or \NewDocumentCommand (xparse package). Robust commands seem advantageous to me in many respects ...
2
votes
1answer
110 views
multiple lists in etoolbox
I'm trying to have a number of lists using etoolbox that I process near the end of a document. There may be a large number of these lists, and I do not know how many I will have beforehand, so I have ...

