11

I want to use a single symbol from the MnSymbol package, \nuparrow (I can't find that symbol anywhere else). But if I use it, then it upsets the symbols in the rest of the document, which I am happy with.

2
  • ... which you are not happy with? Commented Mar 7, 2011 at 16:53
  • 1
    @HendrikVogt, I believe "which I am happy with" modifies "the rest of the document," not "it upsets." Commented May 3, 2018 at 22:39

3 Answers 3

12

You can setup a single symbol like this (the code is extracted from mnsymbol. It will not clash if you load the package too):

\documentclass{article}



\DeclareFontFamily{U}  {MnSymbolB}{}
\DeclareFontShape{U}{MnSymbolB}{m}{n}{
    <-6>  MnSymbolB5
   <6-7>  MnSymbolB6
   <7-8>  MnSymbolB7
   <8-9>  MnSymbolB8
   <9-10> MnSymbolB9
  <10-12> MnSymbolB10
  <12->   MnSymbolB12}{}

\DeclareFontShape{U}{MnSymbolB}{b}{n}{
    <-6>  MnSymbolB-Bold5
   <6-7>  MnSymbolB-Bold6
   <7-8>  MnSymbolB-Bold7
   <8-9>  MnSymbolB-Bold8
   <9-10> MnSymbolB-Bold9
  <10-12> MnSymbolB-Bold10
  <12->   MnSymbolB-Bold12}{}

\DeclareSymbolFont{MnSyB}         {U}  {MnSymbolB}{m}{n}
\SetSymbolFont{MnSyB}       {bold}{U}  {MnSymbolB}{b}{n}

\DeclareMathSymbol{\nuparrow}{\mathrel}{MnSyB}{1}

\begin{document}
$\nuparrow$

\mathversion{bold}

$\nuparrow$
\end{document}
2
  • 1
    excellent! Thanks. What exactly am I looking at, and where can I learn more about this code? Commented Mar 7, 2011 at 13:35
  • (there's also an explanation in tex.stackexchange.com/a/36088/250119 .) Commented Dec 31, 2021 at 8:32
4

Just to explain Ulrike's Meta Font code a bit and where I think it comes from.

The Declare{Font,Symbol}* commands load the MetaFont files used to define the mathematical symbol. So, for example, MnSymbolB corresponds to the file located at /usr/share/texmf/fonts/source/public/MnSymbol/MnSymbolB.mf on my Fedora box. It includes the file Sym-Arrows.mf, in the same folder. And defines the boolean value negated to be true. Looking at the Sym-Arrows.mf file, we see that boolean used to determine whether the arrow is crossed out or not. The final argument (call it n) is 1 in

\DeclareMathSymbol{\nuparrow}{\mathrel}{MnSyB}{1}

is the first symbol defined in Sym-Arrows.mf. It is a single arrow with angle alpha = 0 (pointing upward) which is crossed out (because negated = true). If n=2 then the angle would be 90, since that's the second element in the for list. This list continues between successive fors. So if I take n=9 then I get a double negated arrow pointing upward.

4

The mathtools package also defines it by rotating and mirroring an existing symbol. Note that MnSymbol symbols often does not mix well with others.

\documentclass[a4paper]{memoir}
\usepackage{mathtools,amssymb}
\begin{document}
\[
A \nuparrow B
\]
\end{document}
5
  • This doesn't work for me. Latex complains that \nuparrow is undefined? Commented Mar 7, 2011 at 13:03
  • And you used BOTH packages in this example, and have a fully updated LaTeX installation Commented Mar 7, 2011 at 13:07
  • yes. I have texlive installed on Fedora. I copied your code verbatim; both packages are installed. Commented Mar 7, 2011 at 13:13
  • I have found a sort of hack using the xy package. I don't know any metafont but I can't imagine it's that hard to define an upward arrow with a line through it? Commented Mar 7, 2011 at 13:21
  • Which mathtools version? Note that several Linux dists. are very slow at updating their LaTeX. This is why I always use the one from TUG, an update it manually with the build in manager. That was I KNOW I have the latest versions, I don't have to wait for some lazy dist. manager. Commented Mar 7, 2011 at 13:36

You must log in to answer this question.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.