[Tex/LaTex] How to fatten (,), {,} and $\vee$ in math mode

fontssymbols

In order to distinguish between object language and meta language I want a rather visible difference between the signs mentioned in the title as used in the object language and as used in the formal meta language. How do I best achieve this?

I am not satisfied with the minor difference between $\boldsymbol{{}()\vee} and ${}()\vee$.

Perhaps there are some related symbols in http://linorg.usp.br/CTAN/info/symbols/comprehensive/symbols-a4.pdf that I could use?

Best Answer

I introduce \fat that emboldens the argument with a multi-offset-overlay. While it can be invoked in text mode or math mode, its argument is processed in math mode (unless delimited by $ which will process it in text mode). Importantly, the current math style is preserved. For things like \vee, it is easier to define \fvee in terms of \fat and \vee.

\documentclass{article}
\usepackage{scalerel}
\newcommand\fat[1]{\ThisStyle{\ooalign{%
  \kern.46pt$\SavedStyle#1$\cr\kern.33pt$\SavedStyle#1$\cr%
  \kern.2pt$\SavedStyle#1$\cr$\SavedStyle#1$}}}
\def\fvee{\mathbin{\fat{\vee}}}
\begin{document}
$\{(xyz\vee abc)\} \scriptscriptstyle 
 \{(xyz\vee abc)\}$

$\fat\{\fat(xyz\fvee abc\fat)\fat\} \scriptscriptstyle 
 \fat\{\fat(xyz\fvee abc\fat)\fat\}$

\fat aa\fat{$a$}

\end{document}

enter image description here

If you really wanted to enhance the effect, you could add a small horizontal stretch to the result (in this case 20%):

\documentclass{article}
\usepackage{scalerel}
\newcommand\fat[1]{\ThisStyle{\hstretch{1.2}{\ooalign{%
  \kern.46pt$\SavedStyle#1$\cr\kern.33pt$\SavedStyle#1$\cr%
  \kern.2pt$\SavedStyle#1$\cr$\SavedStyle#1$}}}}
\def\fvee{\mathbin{\fat{\vee}}}
\begin{document}
$\{(xyz\vee abc)\} \scriptscriptstyle 
 \{(xyz\vee abc)\}$

$\fat\{\fat(xyz\fvee abc\fat)\fat\} \scriptscriptstyle 
 \fat\{\fat(xyz\fvee abc\fat)\fat\}$

\fat aa\fat{$a$}

\end{document}

enter image description here