{expansion} is about expanding tokens, including the manipulation of expansion order and the suppressing of expansion.

learn more… | top users | synonyms

6
votes
3answers
430 views

Expandable string substitution

I am trying to define a macro \formatstr{\mystring}{(string empty)}{the string is: #1} which expands to (string empty) when \mystring is empty (as judged, e.g. by etoolbox's \csdefempty) and ...
6
votes
1answer
175 views

How do I implement a string buffer in TeX?

I've recently learned how to create a macro to iterate over a token sequence using \afterassignment and \let in TeX. Currently, I'm trying to apply this to a tokenization macro (where "tokenization" ...
6
votes
1answer
283 views

Why am I processing a comma-separated list incorrectly when using etoolbox and kvoptions?

I'm trying to pick something out of a list that has been passed from some package options by kvoptions, but docsvlist doesn't appear to be recognising the commas. I suspect this may be something to ...
6
votes
2answers
564 views

Why is my macro not expanded inside of \special{…}?

I am writing my first LaTeX/TeX macro and not going anywhere with it. Could you please tell me what I am doing wrong in the code below. I have the following definitions. \def\defcolor#1#2{% ...
6
votes
1answer
598 views

How to use \ifnum for arguments (expanding macros)?

I want to count my section's, figure's etc. using the totcount package. To get a general useable template I want to show only counters which are larger than zero. But it seems that total{counter} ...
6
votes
3answers
132 views

reproduce section at different position

I would like to reproduce a \section at a later position, with the same number as at the original position. I tried \newsavebox{\meinebox} \savebox{\meinebox}[80mm][l]{\section{Hier}} ...
6
votes
1answer
169 views

How to extend the \romannumeral-based \fullyexpand to handle empty/all-space arguments?

In Expandable full expansion of tokens that preserves catcodes, Joseph Wright presents the following code: \long\def\fullyexpand#1{% \csname donothing\fullyexpandauxi{#1}{}% } ...
6
votes
1answer
360 views

Use \csname … \endcsname to compute the starred-version of some command

I want to define some commands declaring paired delimiters using the mathtools package in LaTeX. For example, \paren{...} should result in \left(...\right), whereas \paren[Big]{...} should give ...
6
votes
1answer
70 views

Expand package option, to make contained character math-active

In an answer to another question of mine, egreg posted code, which activates a character in math mode and gives it the function of \operatorname. Now I want to put this into a package and set the ...
6
votes
1answer
155 views

How can I inhibit expansion through several layers of \edef?

I'm using a macro I've defined based on some suggestions here to automate the creation of tables. For example something like \newcommand{\clearrows}{\let\matrixcontent\empty} ...
6
votes
1answer
203 views

Expansion of command for language in otherlanguage environment

I wish to keep the language in a command \newcommand{\testlang}{english} \begin{otherlanguage}{\testlang} ... \end{otherlangauge} However, \testlang is not expanded, and i get the error ! ...
6
votes
1answer
94 views

Expanding a macro as many times as possible without error

I'd like compute cosets using the permute package. Here's what I have so far: \documentclass{article} \usepackage{expl3,xparse,permute} \ExplSyntaxOn % Create a new command to compute the right ...
6
votes
1answer
789 views

How do I examine a token?

... let me count the ways. I can test it with \if and \ifx and \show its \meaning And there I stop, both in my knowledge and my poetic ability (though some might argue that the latter never ...
6
votes
1answer
43 views

Using \pgfplotstablesort with a dynamically named macro

I have a moderately large number of data files that I need to read in with \pgfplotstablesort, and in each case the data read in should be assigned to a macro for later use in a plot. The filenames ...
6
votes
1answer
114 views

\def variables with xparse and other questions about variables

I'm writing a documentation for a REST API. So there's very much information that has to get repeated. So I'm trying to figure out a few things: Consider the following code: ...
6
votes
1answer
416 views

How to expand values stored in a token defined by newtoks

In this project, the directory structure and file names are based on three parameters, with there being one exception to both. Directory Path: \GetTexFilePath{}{}{} The directory path is based on ...
6
votes
1answer
2k views

Is there a LaTeX/TeX preprocessor/inliner that replaces only selected macros with their definitions?

I have the following situation: Like most LaTeX users that write much, I have my own header files where the packages I use normally are required and the macros I use often are defined. So if I write ...
6
votes
1answer
103 views

Macro expanding to comma separated list

I'm trying to use a macro for pgfplotstable labels but the macro is treated as a single entry of a csl rather than a csl. The Question asked in Using a macro as value of addtotoc in \includepdf ...
5
votes
3answers
168 views

How can I remove outer brackets without expanding content?

I'm trying to use pgfkeys to collect information that will be passed to a clist. But, I'm not able to get this to work correctly. It seems that I'm getting brackets around the list and is prevent ...
5
votes
2answers
288 views

Define command either with or without \csname

I'm trying to do the same as this one, but with \def, \gdef or \xdef instead. Very quick summary of the other question: I wanted to print the command (not the contents of the command) regardless of ...
5
votes
3answers
149 views

Trim braces from macro content

I'm having macros with a content which may or may not have extra curly braces. I want to trim the extra braces but without expanding the rest of the content, if possible. The following code shows the ...
5
votes
2answers
193 views

Variadic arguments macro

I am trying to make macro with variadic arguments, iterating over them. The final result is supposed to be: \foreach[x]((var = \x )){foo}{bar}{baz}\null evals to var = foo var = bar var = baz My ...
5
votes
3answers
239 views

Expanding an argument of code added by \g@addto@macro

I would like to have the following (it's a part of a large code block): \def\C{foobar} \def\A{} \g@addto@macro\A{\B{\C}} Now \show\A outputs \B{\C} I would like to modify the 3rd line so that ...
5
votes
2answers
171 views

Latex3 input/output and expansion of macros

I have a package that formats a course outline and have a macro that reads a formatted user file and turns it into a section. \documentclass{article} \usepackage{xparse} \ExplSyntaxOn \tl_new:N ...
5
votes
2answers
152 views

Color Management with a Family of Curves

I am struggling with following fairly simple looking problem of plotting a family of curves. \documentclass[border=1mm]{standalone} \usepackage{pgfplotstable} \pgfplotsset{compat=1.8} ...
5
votes
2answers
107 views

passing current content of commands to a macro

I am sorry for this is probably a current question with a well known answer, but I was not able to google it out. I am trying to build a macro adding content step by step; at every step I need to ...
5
votes
2answers
77 views

Comparing the arguments passed to a macro

I want to write a command which makes a norm of a vector, with following syntax: \xnorm{v}. I want the norm delimiters to adapt to the size of the expression contained in \xnorm{}, BUT I want also an ...
5
votes
1answer
130 views

How can I define a macro with literal square brackets in the body?

The following macro works correctly for enclosing an expression in parenthesis. \def\group#1{\left ( #1 \right )} I want to write the equivalent macro for enclosing an expression in square ...
5
votes
3answers
142 views

Metacommand for commands that dynamically select a parameter?

Original question I would like to create a metacommand for creating new projection commands. Specifically, \newproj{\cmd}{<n>}{<m>} should create \cmd as a new command of <n> ...
5
votes
2answers
263 views

\@startsection, hyperref and newunicodechar; protection needed?

When working with custom defined environments using \@startsection I found, after switching to newunicodechar for defining my unicode characters, that the sectioning headings give this peculiar ...
5
votes
2answers
87 views

How can I force lstlisting to expand an argument?

I'm trying to use the listings package with a variable language (it's actually for a package). However, I can't seem to pass a macro as the value half of a key-value pair. Here's a simple example: ...
5
votes
2answers
133 views

How to get character code defined with \let (! Improper alphabetic constant)

Here's a example with the "! Improper alphabetic constant" error: %% this is ok \newcount\mychar \mychar=\number`a\relax \showthe a % shows You can't use `the letter a' after \the ...
5
votes
1answer
91 views

String lowercase equality (newbie question)

i'd like to test if a string, once transformed into lowercase is equal to a given string. Here a MWE of what i'm talking about : \documentclass[a4paper,10pt]{report} \usepackage[francais]{babel} ...
5
votes
1answer
211 views

Print the counter given as an argument

I have a counterA and a counterB. I want to define a command \PrintCounter, which gets either A or B as argument, and then prints the value of the corresponding counter. I wrote the following code: ...
5
votes
1answer
609 views

How to expand several arguments in an environment?

I have an environment that I've defined as follows: \newenvironment{regularEnumerateEx}[2][0em] {begin{listSkeleton}[#1]{enumerate}{#2}} {\end{listSkeleton}} The problem is that I need to ...
5
votes
1answer
66 views

Using xstring macros in edef

I've tried to use \protect to make the following \edef work but no luck. Can it be done somehow? \documentclass{article} \usepackage{xstring} \begin{document} \def\abc{a,b,c} ...
5
votes
1answer
72 views

newsavebox named after counter

I am trying to write a macro creting automatically a certain number of saveboxes. Therefore I would like to use the concatination of the value of a string and a counter to name the saveboxes. I tried ...
5
votes
2answers
351 views

Expand command and put result into a macro: Use of \value doesn't match its definition

I still struggle with the expansion of Latex. I try to calculate the a real number from a date format and put this into a macro \value. I need to expand the command with \edef because I plan to use ...
5
votes
1answer
765 views

Jobname of inputted file?

\begin{filecontents}{foo.tex} \def\foo{\jobname} \end{filecontents} \documentclass{article} \begin{document} \input{foo} \foo \end{document} This outputs the jobname of the main file not "foo". How ...
5
votes
1answer
421 views

Evaluation order during macro expansion.

From this question Creating PDF bookmarks in custom order arose another. (I hope it is correct to create a new question instead of commenting or editing/answering my old question.) Using this macro ...
5
votes
1answer
26 views

Selectively apply \global to some tokens set via an \input file

This should be simple, but I can't quite guess the correct combination of \expandafter needed. The value of \MyTokenGlobal should not be changed via the \input, but the value of \MyTokenLocal should ...
5
votes
1answer
117 views

\begingroup, \endgroup expansion problem “Undefined control sequence.”

I just created an answer that uses a temporary variable with \write\@auxout and thought it would be good idea to scope with \begingroup, \endgroup. For some Reason this results in: ! Undefined ...
5
votes
1answer
57 views

Clarification about how TeX/LaTeX decides it's fully read in a number

I started off a bit confused about how \romannumeral works. Then I tried several experiments testing various ways of incorportating numbers into LaTeX and got even more confused. The following table ...
5
votes
1answer
127 views

Capitalization of datetime format

In languages like dutch, the first letter of the names of days and months are not capitalized unless they occur as the first character of a sentence. So I added the following code in the preamble of ...
5
votes
1answer
126 views

Amsmath and tikz - conflict?

I have a problem with: \documentclass{minimal} \usepackage[T1]{fontenc} \usepackage[french]{babel} \usepackage{amsmath} \usepackage{tikz} \begin{document} \pgfmathparse{ifthenelse(1<0, ...
5
votes
1answer
384 views

Preprocessing Latex: What is your workflow? Your tools?

I know, for various reason, some users preprocess their latex file using Perl or sed, say. I'm considering doing this to, so I would like to seek your guidance, to smooth my entry in this area. My ...
5
votes
1answer
68 views

How to store tcolorbox's (multiple) settings in a macro?

I'd like to store tcolorbox' (multiple) settings in a (single) macro (in fact, a xkeyval's \cmdKV@fam@key macro) and use them afterwards via this macro (I know I should use pgfkeys instead, but my ...
5
votes
1answer
311 views

How to use macros in command \dirtree of package dirtree?

I want to print a tree structure and started using the package dirtree (v0.32, see Making a (simple) directory tree). Following calls work smooth: \dirtree{.1 root. .2 child1. .2 child2. .3 ...
5
votes
1answer
245 views

Use macro to draw inside pgfplot/axis

I would like to implement a gantt chart function inside pgfplots. To draw the tasks, I have a macro that calculates the start and finish time of a task. However, when I use multiple tasks, the values ...
5
votes
1answer
139 views

“Flatten” macros prior to sharing LaTeX file

Is there a way/an existing tool to process a LaTeX source document such that for a given list of macro definitions (using \newcommand), calls to those macros are replaced by their expanded version? ...