I came across this great paper, Typing linear algebra: A biproduct-oriented approach by Hugo Daniel Macedo and José N. Oliveira, where they use this nice notation highlighted below for junc and split combinators. Does anyone happen to know of a command or package to do this?

enter image description here

Thank you!

Edit: Sadly the code ABC wrote doesn't seem to work for me (I am using XeLaTeX, which might be the issue?)

enter image description here

  • @ABC how do I make this symbol though? I have tried looking for a command for it, and can't find one.
    – ಠ_ಠ
    Nov 25, 2021 at 4:01
  • 1
    You can download the source from arXiv, then you'll see that they are \bigovert and \bigominus from the package MnSymbol.
    – campa
    Nov 25, 2021 at 8:35
  • Ah cool thank you! I had no idea I could do that.
    – ಠ_ಠ
    Nov 25, 2021 at 8:37

2 Answers 2


There are three possible strategies for this. I don't recommend what the authors of the paper do (and I'm afraid that their code is not a model to follow), namely \usepackage{MnSymbol}, because this changes all symbols to shapes that are thought to accompany Minion.

One strategy is to use a scaled version of \ominus. Another is to use picture mode. I'll describe instead how to properly import the symbols.



    <-6>  s*[1.3] MnSymbolF5
   <6-7>  s*[1.3] MnSymbolF6
   <7-8>  s*[1.3] MnSymbolF7
   <8-9>  s*[1.3] MnSymbolF8
   <9-10> s*[1.3] MnSymbolF9
  <10-12> s*[1.3] MnSymbolF10
  <12->   s*[1.3] MnSymbolF12}{}
    <-6>  s*[1.3] MnSymbolF-Bold5
   <6-7>  s*[1.3] MnSymbolF-Bold6
   <7-8>  s*[1.3] MnSymbolF-Bold7
   <8-9>  s*[1.3] MnSymbolF-Bold8
   <9-10> s*[1.3] MnSymbolF-Bold9
  <10-12> s*[1.3] MnSymbolF-Bold10
  <12->   s*[1.3] MnSymbolF-Bold12}{}



    \baselineskip 4\p@
    \lineskiplimit \z@
    \kern 1\p@
    \kern 1\p@



\left[\begin{array}{c|c|c} A_1 & \dots & A_p \end{array}\right]
&=\bigovert_{1\le j\le p} A_j = \sum_{j=1}^p A_j\cdot \pi_j
  A_1 \\ \hline \cvdots \\ \hline A_m
&=\bigominus_{1\le j\le m} A_j = \sum_{j=1}^m i_j\cdot A_j


enter image description here

I'm afraid that guessing the code for importing the symbols requires some experience in the job.


Too long for a comment. Here is a possible solution.

\[ \HoriC_{1\le i\le p}A_i \qquad A_{\HoriC_{1\le j\le p}A_j}\]
\[ \VertC_{1\le i\le p}A_i \qquad A_{\VertC_{1\le j\le p}A_j}\]

enter image description here


You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .