Keywords: docvector

# The package EASYVECTOR

Enrico Bertolazzi
Department of Mechanics and Structures Engineering
University of Trento
via Mesiano 77, I - 38050 Trento, Italy
enrico.bertolazzi@ing.unitn.it

### Abstract:

The EASYVECTOR package is a simple macro package that provides a C-like syntax for writing vectors or matrices.

## Contents

- Some examples with EASYVECTOR
- Use of the \newvector command
- Use of the ! command
- Use of the \newcustomvector command
- The ``definevectors'' option
- The ``@'' convention
- About this document ...

# Some examples with EASYVECTOR

The package is loaded by means of the usual way:

      \documentclass{article}
      .
      .
      \usepackage[spacesep,definevectors]{easyvector}
      .
      .

The package option `spacesep` means that the separator for the indices is the command `\smallspace` instead of ```,`'' (comma).

The package option `definevectors` means that the command `\aa`,..., `\zz` and `\AA`,..., `\ZZ` are predefined as vectors. It also defines the commands `\Balpha`, `\Bbeta` and so on, as bold greek vectors. The latex commands `\aa`, `\AA`, `\gg`, `\ll`, `\ss`, `\SS`, `\tt` are saved in the commands `\oldxx` where `xx` is the name of the old command.

# Use of the `\newvector` command

The general syntax of `\newvector` command is

      \newvector[\cmda,\cmdb]{cmd}

or

      \newvector(a)[cmd]

In the first case, it creates the new command (macro) `\cmd` which executes `\cmda` when in scalar mode and `\cmdb` when in vector mode. In the second case it creates a new command `\cmd` which substitutes the letter `\mathit``{a}` when in scalar, mode and `\mathbf``{a}` when in vector mode. Scalar mode is activated when `\cmd` is immediately followed by `[`. In scalar mode everything between `[` and `]` (with balancing) is assumed to be as an index. For example the commands

    \newvector[\alpha,\beta]{W}
    \newvector[X,\mathbf{X}]{X}
    \[ \W = (\W[i,j]), \qquad \X = (\X[i,j;k])\]

The structure of the `[...]` command is the following

      [i,j,...,k;x,y,...,z]

where `i,j,...,k` are subscripts and `x,y,...,z` are superscripts. The comma ```,`'' is used as a separator between different indices, and the semi-colon ```;`'' separates subscripts and superscripts. There are no limits on the number of indices, and the code is reentrant, as the following example illustrates

    \newvector(a)[av]
    \newvector(b)[bv]
    \[ \av = \pmatrix{ \av[1,1] & \av[1,2] \cr
                       \av[2,1] & \av[2,2] \cr}, \qquad
       \bv = \left\{ \bv[\gamma,\bv[i,j;k];a] \right\}
    \]

# Use of the `!` command

It is possible to enforce vector mode also when using indices by using the character `!` before `[`

    \newvector(z)[zzz]
    \[ \zzz[1,2,3] \neq \zzz![1,2,3] \]

# Use of the `\newcustomvector` command

In some circumstances the command `\newcustomvector` can be useful. Is is essentially the `\newvector` command with an extra argument that is a macro to manage the index part.

    \def\myindex[#1,#2,#3]{_{#1_{#2}}^{#3}}
    \newcustomvector[\mathtt{a},\mathbf{a}]{aaa}\myindex
    \[ \aaa[1,2,3], \qquad \aaa[3,2,1], \qquad \aaa \]

Important: For old users (version ) the command `\customindex` is suppressed and the `\newcustomvector` is used instead.

# The ``definevectors'' option

This option defines the following vectors for you:

      \aa,\bb,...,\zz    \AA,\BB,...,\ZZ
      \Balpha, \Bbeta, ..., \Bomega

for example

    \[
      \Balpha[i,j], \quad \Balpha,
      \quad \BB[i,j], \quad \BB,
    \]

# The ``@'' convention

In linear algebra it is common to use the notation to denote the vector formed by the column of . Note that is in vector format not in scalar format (). We can use ``'' as an index in a vector forcing the vector mode by using @ as follows:

    \[ \AA[@,j], \qquad \Balpha[i,j;@] \]

# About this document ...

The package EASYVECTOR

This document was generated using the LaTeX2`HTML` translator Version 2K.1beta (1.61)

Copyright © 1993, 1994, 1995, 1996, Nikos Drakos, Computer Based Learning Unit, University of Leeds.
Copyright © 1997, 1998, 1999, Ross Moore, Mathematics Department, Macquarie University, Sydney.

The command line arguments were:
latex2html `-transparent -local_icons -no_navigation -split 0 docvector`

The translation was initiated by Enrico Bertolazzi on 2002-03-19