I am looking for a good way to typeset the concatenation of two strings. This is standard notation in descriptive set theory to join an m-tuple `x`

to an n-tuple `y`

to get an (m+n)-tuple `x^y`

, that is, a small slightly raised circumflex or frown joining the upper parts of the characters together. I currently use the straightforward

```
x^\smallfrown y
```

which doesn't look terribly good.

Semantically, this is a binary operation, but it shouldn't have the usual spacing on the right and the left and it should be higher up than a minus sign, say.

Here's a sample screen shot from Moschovakis's *Descriptive set theory* (p.76 of the pdf) which is approximately what I'd like to do, but I'd prefer a frown:

Looking around on this site, I found the question String/vector concatenation symbol but it is concerned with *which* symbol to use for the operation, so it doesn't address my question.

## Best Answer

Define a binary math command (

`\mathbin`

) that is typeset according to your specifications:`\concatA`

could be what you're after, although I've also added`\concatB`

to show you another possibility. There may be more, so if you're interested, see How to look up a symbol?.You can fiddle around with the

`\frown`

raise (`1ex`

) as well as the size (scaled to`.7`

of its original size thanks to`graphicx`

).It sounds logical to me to have the spacing set as

`\mathbin`

since it represents an operator acting on two entities (operands). However, you can use`\mathord`

to remove the binary-operator-ness. Perhaps even specifying your own spacing around the symbol with additional`\mkern`

s if needed.