To make an underbracket, I simply write:
Code: Select all
\documentclass{article}
\usepackage{mathtools}
\begin{document}
a\underbracket{b c d b}
\end{document}
Code: Select all
\documentclass{article}
\usepackage{mathtools}
\begin{document}
a\underbracket{b c d b}
\end{document}
NEW: TikZ book now 40% off at Amazon.com for a short time.
Code: Select all
\documentclass{minimal}
\usepackage{tikz}
\usetikzlibrary{calc}
\newcommand{\underb}[1]{\tikz[baseline=(text.base)]{
\node[inner sep=0pt,outer sep=0pt,text height = 2ex] (text) {#1};
\draw[thick] (text.south east) -- ++(0,-0.1) -| (text.south west);}}
\newcommand{\notunderb}[1]{\tikz[baseline=(text.base)]{
\node[inner sep=0pt,outer sep=0pt,text height = 2ex] (text) {#1};
\coordinate (mid) at ($(text.south east)!0.5!(text.south west) - (0,0.1)$);
\draw[thick] (text.south east) -- ++(0,-0.1) -| (text.south west);
\draw[rotate=60,shift=(mid),thick] (-0.1,0) -- (0.1,0);
}}
\begin{document}
kkjkk\underb{qweuytiuy}
\notunderb{qweuytiuy}
\end{document}
Code: Select all
\underb{$\pi^l \pi$}
Code: Select all
$\underb{\pi^l \pi}$
Code: Select all
\notunderb{\bar{q}\underb{\pi^\ell \pi}\underb{j i^r}s_1}
Code: Select all
\documentclass{minimal}
\usepackage{mathtools}
\usepackage{tikz}
\usetikzlibrary{calc}
\newcommand{\underb}[2]{\tikz[baseline=(text.base)]{
\node[inner sep=0pt,outer sep=0pt,text height = 2ex] (text) {\ensuremath{#1}};
\draw[thick] ($(text.base east)-(0,0.1)-#2*(0,2ex)$) -- ++(0,-0.1) -| ($(text.base west)-(0,0.1)-(0,{#2*1ex})$);}}
\newcommand{\notunderb}[2]{\tikz[baseline=(text.base)]{
\node[inner sep=0pt,outer sep=0pt,text height = 2ex] (text) {\ensuremath{#1}};
\coordinate (mid) at ($(text.base east)!0.5!(text.base west) - (0,0.2)-#2*(0,1ex)$);
\draw[thick] ($(text.base east)-(0,0.1)-#2*(0,1ex)$) -- ++(0,-0.1) -| ($(text.base west)-(0,0.1)-#2*(0,1ex)$);
\draw[rotate=60,shift=(mid),thick] (-0.1,0) -- (0.1,0);
}}
\begin{document}
kkjkk\underb{qweuytiuy_1}{0}
\notunderb{qweuy_1tiuy}{0}
\underb{\pi^l \pi}{0}
\notunderb{\bar{q}\underb{\pi^\ell \pi}{0}\,\underb{j i^r}{0}s_1}{1}
\end{document}
Code: Select all
\newcommand{\underb}[2]{\tikz[baseline=(text.base)]{
\node[inner sep=0pt,outer sep=0pt,text height = 2ex] (text) {\ensuremath{#1}};
\draw[thick] ($(text.base east)-(0,0.1)-#2*(0,1ex)$) -- ++(0,-0.1) -| ($(text.base west)-(0,0.1)-(0,{#2*1ex})$);}}
\newcommand{\notunderb}[2]{\tikz[baseline=(text.base)]{
\node[inner sep=0pt,outer sep=0pt,text height = 2ex] (text) {\ensuremath{#1}};
\coordinate (mid) at ($(text.base east)!0.5!(text.base west) - (0,0.2)-#2*(0,1ex)$);
\draw[thick] ($(text.base east)-(0,0.1)-#2*(0,1ex)$) -- ++(0,-0.1) -| ($(text.base west)-(0,0.1)-#2*(0,1ex)$);
\draw[rotate=60,shift=(mid),thick] (-0.1,0) -- (0.1,0);
}}
Code: Select all
\documentclass{minimal}
\usepackage{mathtools}
\usepackage{tikz}
\usetikzlibrary{calc}
\newcounter{bracklev}
\setcounter{bracklev}{-1}
\newcommand{\underb}[1]{
\addtocounter{bracklev}{+1}
\tikz[baseline=(text.base)]{
\node[inner sep=0pt,outer sep=0pt,text height = 2ex] (text) {\ensuremath{#1}};
\draw[thick] ($(text.base east)-(0,0.1)-\value{bracklev}*(0,1ex)$) -- ++(0,-0.1) -| ($(text.base west)-(0,0.1)-(0,{\value{bracklev}*1ex})$);}
\addtocounter{bracklev}{-1}
}
\newcommand{\notunderb}[1]{
\addtocounter{bracklev}{+1}
\tikz[baseline=(text.base)]{
\node[inner sep=0pt,outer sep=0pt,text height = 2ex] (text) {\ensuremath{#1}};
\coordinate (mid) at ($(text.base east)!0.5!(text.base west) - (0,0.2)-\value{bracklev}*(0,1ex)$);
\draw[thick] ($(text.base east)-(0,0.1)-\value{bracklev}*(0,1ex)$) -- ++(0,-0.1) -| ($(text.base west)-(0,0.1)-\value{bracklev}*(0,1ex)$);
\draw[rotate=60,shift=(mid),thick] (-0.1,0) -- (0.1,0);}
\addtocounter{bracklev}{-1}
}
\begin{document}
\notunderb{a\notunderb{b\underb{c\underb{p\notunderb{\bar{q}\underb{\pi^\ell \pi}\underb{j i^r}s_1} s_2}d}e}f}
\end{document}
NEW: TikZ book now 40% off at Amazon.com for a short time.