0

I'm only an occasional LaTeX user, and ever more rare math mode user, so maybe this is simple for others, but not for me:

I have a function named L*, and it has a fraction as parameter. In my first attempt ($L*\left(\frac{X}{X_N}\right)$) it looked as if I wanted to multiply L with the parameter, so I changed it to ${L*}\left(\frac{X}{X_N}\right)$.

Formula L*(X/Xn)

Still in my eyes it looks like a multiplication (can I reduce the spacing between * and (?), so I want the size of L* match the height of the parameter, like this:

Formula L*(X/Xn) with larger L*

(As any TeX-eye can see I faked the size by using an image editor).

What I did try without success was a \left{L*}\frac{...}{...} which is not allowed, however.

Finally: When answering remember: Simple problems should have simple answers to be efficient. If the answer looks overly complicated (makes the formular very unreadable, I probably will not accept it.

  • My 0.02ct: This is kind of scaling is unusual (you mentioned that you typeset mathematics rarely). One question: "If the answer looks overly complicated ..." does that mean you use only software and operating systems whose code you know and understand? Almost anybody can hide code in a LaTeX package. – CampanIgnis Mar 16 at 23:02
  • 2
    Shouldn't the asterisk be positioned as superscript to disambiguate? – Bernard Mar 16 at 23:13
  • @Bernard: Good point; I didn't look closely when copying the formula. Unfortunately it's not really related to an answer to this question. – U. Windl Mar 16 at 23:17
  • If you want exactly the same size, you could define lengths for the function name and parameters, render inside \savebox, take the heights of both with \settoheight, divide to get a ratio, and then expand the box on the lect with a \scalebox.` – Davislor Mar 16 at 23:37
  • Hint: Even if you don't accept an answer, you can still show appreciation by upvoting if you like. – Dr. Manuel Kuehner Mar 16 at 23:45
4

I think it's a very bad idea.

\documentclass{article}
\usepackage{amsmath}
\usepackage{graphicx}

\newcommand{\Lstar}[1]{%
  \begingroup
  \sbox0{$L{*}$}%
  \sbox2{$#1$}%
  \ifdim\dimexpr\ht2+\dp2>1.5\dimexpr\ht0+\dp0\relax
    \vcenter{\hbox{\resizebox{!}{0.8\dimexpr\ht2+\dp2}{\box0}}}%
  \else
    L{*}%
  \fi
  #1
  \endgroup
}

\begin{document}

\[
\Lstar{(x)}+\Lstar{\left(\frac{X}{X_N}\right)}
\]

\end{document}

enter image description here

  • The idea may be bad, but it's what I had asked for ;-) – U. Windl Mar 17 at 2:47
  • Trying to understand the answer, I wonder about the two factors 1.5 and 0.8: It seems you adjust the L* only of the height of the parameter is 1.5 times the height of L*, and then you don't scale it to 100% of the parameter's size, but to 80%. Right? – U. Windl Mar 18 at 21:00
  • @U.Windl Yes, that's right. Adjust to suit, if you really want to pursue this endeavor. – egreg Mar 18 at 21:06
3

By default * is a binary operator so it has extra space put around it to make it look like multiplication. You can remove this space by enclosing it in braces: {*}. You could also use \ast instead of *, but this doesn't help because, as far as I can see, they are equivalent.

If you want to have a larger asterisk then you need to "leave" math-mode and change the font size. If you are going to do this often then I suggest using a macro like

\newcommand\Ast{\mbox{\large${\ast}$}}

Using these different options gives the following output:

enter image description here

From the OP, I suspect that the last option, which uses the macro above, is what you want. Here is the full code:

\documentclass{article}
\usepackage{amsmath}
\newcommand\Ast{\mbox{\large${\ast}$}}
\newcommand\Xn{\bigl(\frac{X}{X_N}\bigr)}

\begin{document}

  $L*\Xn$

  $L\ast\Xn$

  $L{*}\Xn$

  $L{\ast}\Xn$

  $L\Ast\Xn$

\end{document}

Btw, please always post a minimal working example with your questions so that people know what you are doing. This makes it easier for people to help you and decreases the chance that they will solve a "different problem" than what you are asking.

  • Isn't there a simple solution that can scale the height of L* to the same height as the \left(? Could I do something like \left{L}\left{*}\left(... (\left{L*} doesn't work) without corresponding \right parts? – U. Windl Mar 16 at 23:13
  • @U. Windl For me, the proposed solution seems pretty simple. – Dr. Manuel Kuehner Mar 16 at 23:43
  • Can you explain the difference between \bigl( and \left(? – U. Windl Mar 18 at 21:02
  • @U.Windl Strangely enough there doesnt seem to be a TeX.SX question on this. The short version is that the amsmath package provides commands \bigl, \Bigl, \biggl, \Biggl, \bigm, \Bigm, \biggm, \Biggm \bigr, \Bigr, \biggr, \Biggr to give finer control over the sizes of delimiters. I often find that \left(...\right) gives delimiters that are too big and that I can get delimiter sizes that I like using these commands. – Andrew Mar 18 at 23:32

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.