[BACK]Return to mandoc_char.7 CVS log [TXT][DIR] Up to [cvsweb.bsd.lv] / mandoc

Annotation of mandoc/mandoc_char.7, Revision 1.13

1.13    ! kristaps    1: .\"    $Id: mandoc_char.7,v 1.12 2009/07/28 12:07:11 kristaps Exp $
1.1       kristaps    2: .\"
1.5       kristaps    3: .\" Copyright (c) 2009 Kristaps Dzonsons <kristaps@kth.se>
1.1       kristaps    4: .\"
                      5: .\" Permission to use, copy, modify, and distribute this software for any
1.4       kristaps    6: .\" purpose with or without fee is hereby granted, provided that the above
                      7: .\" copyright notice and this permission notice appear in all copies.
1.1       kristaps    8: .\"
1.4       kristaps    9: .\" THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
                     10: .\" WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
                     11: .\" MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
                     12: .\" ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
                     13: .\" WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
                     14: .\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
                     15: .\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
1.1       kristaps   16: .\"
                     17: .Dd $Mdocdate$
1.2       kristaps   18: .Dt MANDOC_CHAR 7
1.1       kristaps   19: .Os
                     20: .\" SECTION
                     21: .Sh NAME
                     22: .Nm mandoc_char
                     23: .Nd mandoc special characters
                     24: .\" SECTION
                     25: .Sh DESCRIPTION
1.10      kristaps   26: This documents the special characters and predefined strings accepted by
1.1       kristaps   27: .Xr mandoc 1
                     28: to format
                     29: .Xr mdoc 7
                     30: and
                     31: .Xr man 7
                     32: documents.  Specific output devices of
                     33: .Xr mandoc 1 ,
                     34: dictated by the
                     35: .Fl T Ns Ar output
                     36: argument, will properly render these sequences.
1.10      kristaps   37: .\" PARAGRAPH
1.1       kristaps   38: .Pp
                     39: Both
                     40: .Xr mdoc 7
                     41: and
                     42: .Xr man 7
1.10      kristaps   43: encode special characters with
1.9       kristaps   44: .Sq \eX
                     45: .Pq for a one-character escape ,
                     46: .Sq \e(XX
                     47: .Pq two-character ,
                     48: and
                     49: .Sq \e[N]
                     50: .Pq N-character .
                     51: One may generalise
                     52: .Sq \e(XX
                     53: as
1.12      kristaps   54: .Sq \e[XX]
1.10      kristaps   55: and
                     56: .Sq \eX
                     57: as
                     58: .Sq \e[X] .
                     59: Predefined strings are functionally similar to special characters, using
                     60: .Sq \e*X
                     61: .Pq for a one-character escape ,
                     62: .Sq \e*(XX
                     63: .Pq two-character ,
                     64: and
                     65: .Sq \e*[N]
                     66: .Pq N-character .
                     67: One may generalise
                     68: .Sq \e*(XX
                     69: as
                     70: .Sq \e*[XX]
                     71: and
                     72: .Sq \e*X
                     73: as
                     74: .Sq \e*[X] .
                     75: .\" SECTION
                     76: .Sh Special Characters
                     77: These are the preferred input symbols for producing special characters.
1.8       kristaps   78: .\" PARAGRAPH
                     79: .Pp
                     80: Typographic:
                     81: .Bl -tag -width Ds -offset indent -compact
                     82: .It \e~
                     83: .Pq non-breaking space
                     84: .It \e
                     85: .Pq space
                     86: .It \e^
                     87: .Pq zero-width space
1.9       kristaps   88: .It \e%
1.8       kristaps   89: .Pq zero-width space
                     90: .It \e&
                     91: .Pq zero-width space
1.9       kristaps   92: .It \e|
                     93: .Pq zero-width space
1.8       kristaps   94: .El
                     95: .\" PARAGRAPH
1.1       kristaps   96: .Pp
                     97: Grammatic:
1.8       kristaps   98: .Bl -tag -width Ds -offset indent -compact
1.1       kristaps   99: .It \e(em
                    100: .Pq em-dash
                    101: .It \e(en
                    102: .Pq en-dash
1.7       kristaps  103: .It \e(hy
1.1       kristaps  104: .Pq hyphen
                    105: .It \e\e
                    106: .Pq back-slash
1.11      kristaps  107: .It \\e
                    108: .Pq back-slash
1.1       kristaps  109: .It \e'
                    110: .Pq apostrophe
                    111: .It \e`
                    112: .Pq back-tick
                    113: .It \e.
                    114: .Pq period
                    115: .It \e(r!
                    116: .Pq upside-down exclamation
                    117: .It \e(r?
                    118: .Pq upside-down question
                    119: .El
                    120: .\" PARAGRAPH
                    121: .Pp
                    122: Enclosures:
1.8       kristaps  123: .Bl -tag -width Ds -offset indent -compact
1.1       kristaps  124: .It \e(lh
                    125: .Pq left hand
                    126: .It \e(rh
                    127: .Pq right hand
                    128: .It \e(Fo
                    129: .Pq left guillemet
                    130: .It \e(Fc
                    131: .Pq right guillemet
                    132: .It \e(fo
                    133: .Pq left guilsing
                    134: .It \e(fc
                    135: .Pq right guilsing
                    136: .It \e(rC
                    137: .Pq right brace
                    138: .It \e(lC
                    139: .Pq left brace
                    140: .It \e(ra
                    141: .Pq right angle
                    142: .It \e(la
                    143: .Pq left angle
                    144: .It \e(rB
                    145: .Pq right bracket
                    146: .It \e(lB
                    147: .Pq left bracket
                    148: .It \e(lq
                    149: .Pq left double-quote
                    150: .It \e(rq
                    151: .Pq right double-quote
                    152: .It \e(oq
                    153: .Pq left single-quote
                    154: .It \e(aq
                    155: .Pq right single-quote
                    156: .It \e(Bq
                    157: .Pq right low double-quote
                    158: .It \e(bq
                    159: .Pq right low single-quote
                    160: .El
                    161: .\" PARAGRAPH
                    162: .Pp
                    163: Indicatives:
1.8       kristaps  164: .Bl -tag -width Ds -offset indent -compact
1.1       kristaps  165: .It \e(<-
                    166: .Pq left arrow
                    167: .It \e(->
                    168: .Pq right arrow
                    169: .It \e(ua
                    170: .Pq up arrow
                    171: .It \e(da
                    172: .Pq down arrow
                    173: .It \e(<>
                    174: .Pq left-right arrow
                    175: .It \e(lA
                    176: .Pq left double-arrow
                    177: .It \e(rA
                    178: .Pq right double-arrow
                    179: .It \e(uA
                    180: .Pq up double-arrow
                    181: .It \e(dA
                    182: .Pq down double-arrow
                    183: .It \e(hA
                    184: .Pq left-right double-arrow
                    185: .El
                    186: .\" PARAGRAPH
                    187: .Pp
                    188: Mathematical:
1.8       kristaps  189: .Bl -tag -width Ds -offset indent -compact
1.1       kristaps  190: .It \e(es
                    191: .Pq empty set
                    192: .It \e(ca
                    193: .Pq intersection
                    194: .It \e(cu
                    195: .Pq union
                    196: .It \e(gr
                    197: .Pq gradient
                    198: .It \e(pd
                    199: .Pq partial differential
                    200: .It \e(ap
                    201: .Pq similarity
                    202: .It \e(=)
                    203: .Pq proper superset
                    204: .It \e((=
                    205: .Pq proper subset
                    206: .It \e(eq
                    207: .Pq equals
                    208: .It \e(di
                    209: .Pq division
                    210: .It \e(mu
                    211: .Pq multiplication
                    212: .It \e(pl
                    213: .Pq addition
1.7       kristaps  214: .It \e-
                    215: .Pq subtraction
1.1       kristaps  216: .It \e(nm
                    217: .Pq not element
                    218: .It \e(mo
                    219: .Pq element
                    220: .It \e(Im
                    221: .Pq imaginary
                    222: .It \e(Re
                    223: .Pq real
                    224: .It \e(Ah
                    225: .Pq aleph
                    226: .It \e(te
                    227: .Pq existential quantifier
                    228: .It \e(fa
                    229: .Pq universal quantifier
                    230: .It \e(AN
                    231: .Pq logical AND
                    232: .It \e(OR
                    233: .Pq logical OR
                    234: .It \e(no
                    235: .Pq logical NOT
                    236: .It \e(st
                    237: .Pq such that
                    238: .It \e(tf
                    239: .Pq therefore
                    240: .It \e(~~
                    241: .Pq approximate
                    242: .It \e(~=
                    243: .Pq approximately equals
                    244: .It \e(=~
                    245: .Pq congruent
                    246: .It \e(<=
                    247: .Pq less-than-equal
                    248: .It \e(>=
                    249: .Pq greater-than-equal
                    250: .It \e(==
                    251: .Pq equal
                    252: .It \e(!=
                    253: .Pq not equal
                    254: .It \e(if
                    255: .Pq infinity
                    256: .It \e(na
1.10      kristaps  257: .Pq NaN, an extension
1.1       kristaps  258: .It \e(+-
                    259: .Pq plus-minus
                    260: .It \e(**
                    261: .Pq asterisk
                    262: .El
                    263: .\" PARAGRAPH
                    264: .Pp
                    265: Ligatures:
1.8       kristaps  266: .Bl -tag -width Ds -offset indent -compact
1.1       kristaps  267: .It \e(ss
                    268: .Pq German eszett
                    269: .It \e(AE
1.11      kristaps  270: .Pq AE
1.1       kristaps  271: .It \e(ae
1.11      kristaps  272: .Pq ae
1.1       kristaps  273: .It \e(OE
1.11      kristaps  274: .Pq OE
1.1       kristaps  275: .It \e(oe
1.11      kristaps  276: .Pq oe
1.1       kristaps  277: .It \e(ff
                    278: .Pq ff ligature
                    279: .It \e(fi
                    280: .Pq fi ligature
                    281: .It \e(fl
                    282: .Pq fl ligature
                    283: .It \e(Fi
                    284: .Pq ffi ligature
                    285: .It \e(Fl
                    286: .Pq ffl ligature
                    287: .El
                    288: .\" PARAGRAPH
                    289: .Pp
1.11      kristaps  290: Diacritics and accented letters:
1.8       kristaps  291: .Bl -tag -width Ds -offset indent -compact
1.1       kristaps  292: .It \e(ga
                    293: .Pq grave accent
                    294: .It \e(aa
                    295: .Pq accute accent
                    296: .It \e(a"
                    297: .Pq umlaut accent
                    298: .It \e(ad
                    299: .Pq dieresis accent
                    300: .It \e(a~
                    301: .Pq tilde accent
                    302: .It \e(a^
                    303: .Pq circumflex accent
                    304: .It \e(ac
                    305: .Pq cedilla accent
                    306: .It \e(ad
                    307: .Pq dieresis accent
                    308: .It \e(ah
                    309: .Pq caron accent
                    310: .It \e(ao
                    311: .Pq ring accent
                    312: .It \e(ho
                    313: .Pq hook accent
                    314: .It \e(ab
                    315: .Pq breve accent
                    316: .It \e(a-
                    317: .Pq macron accent
                    318: .It \e(-D
1.11      kristaps  319: .Pq Eth
1.1       kristaps  320: .It \e(Sd
1.11      kristaps  321: .Pq eth
1.1       kristaps  322: .It \e(TP
1.11      kristaps  323: .Pq Thorn
1.1       kristaps  324: .It \e(Tp
1.11      kristaps  325: .Pq thorn
1.1       kristaps  326: .It \e('A
1.11      kristaps  327: .Pq acute A
1.1       kristaps  328: .It \e('E
1.11      kristaps  329: .Pq acute E
1.1       kristaps  330: .It \e('I
1.11      kristaps  331: .Pq acute I
1.1       kristaps  332: .It \e('O
1.11      kristaps  333: .Pq acute O
1.1       kristaps  334: .It \e('U
1.11      kristaps  335: .Pq acute U
1.1       kristaps  336: .It \e('a
1.11      kristaps  337: .Pq acute a
1.1       kristaps  338: .It \e('e
1.11      kristaps  339: .Pq acute e
1.1       kristaps  340: .It \e('i
1.11      kristaps  341: .Pq acute i
1.1       kristaps  342: .It \e('o
1.11      kristaps  343: .Pq acute o
1.1       kristaps  344: .It \e('u
1.11      kristaps  345: .Pq acute u
1.1       kristaps  346: .It \e(`A
1.11      kristaps  347: .Pq grave A
1.1       kristaps  348: .It \e(`E
1.11      kristaps  349: .Pq grave E
1.1       kristaps  350: .It \e(`I
1.11      kristaps  351: .Pq grave I
1.1       kristaps  352: .It \e(`O
1.11      kristaps  353: .Pq grave O
1.1       kristaps  354: .It \e(`U
1.11      kristaps  355: .Pq grave U
1.1       kristaps  356: .It \e(`a
1.11      kristaps  357: .Pq grave a
1.1       kristaps  358: .It \e(`e
1.11      kristaps  359: .Pq grave e
1.1       kristaps  360: .It \e(`i
1.11      kristaps  361: .Pq grave i
1.1       kristaps  362: .It \e(`o
1.11      kristaps  363: .Pq grave o
1.1       kristaps  364: .It \e(`u
1.11      kristaps  365: .Pq grave u
1.1       kristaps  366: .It \e(~A
1.11      kristaps  367: .Pq tilde A
1.1       kristaps  368: .It \e(~N
1.11      kristaps  369: .Pq tilde N
1.1       kristaps  370: .It \e(~O
1.11      kristaps  371: .Pq tilde O
1.1       kristaps  372: .It \e(~a
1.11      kristaps  373: .Pq tilde a
1.1       kristaps  374: .It \e(~n
1.11      kristaps  375: .Pq tilde n
1.1       kristaps  376: .It \e(~o
1.11      kristaps  377: .Pq tilde o
1.1       kristaps  378: .It \e(:A
1.11      kristaps  379: .Pq dieresis A
1.1       kristaps  380: .It \e(:E
1.11      kristaps  381: .Pq dieresis E
1.1       kristaps  382: .It \e(:I
1.11      kristaps  383: .Pq dieresis I
1.1       kristaps  384: .It \e(:O
1.11      kristaps  385: .Pq dieresis O
1.1       kristaps  386: .It \e(:U
1.11      kristaps  387: .Pq dieresis U
1.1       kristaps  388: .It \e(:a
1.11      kristaps  389: .Pq dieresis a
1.1       kristaps  390: .It \e(:e
1.11      kristaps  391: .Pq dieresis e
1.1       kristaps  392: .It \e(:i
1.11      kristaps  393: .Pq dieresis i
1.1       kristaps  394: .It \e(:o
1.11      kristaps  395: .Pq dieresis o
1.1       kristaps  396: .It \e(:u
1.11      kristaps  397: .Pq dieresis u
1.1       kristaps  398: .It \e(:y
1.11      kristaps  399: .Pq dieresis y
1.1       kristaps  400: .It \e(^A
1.11      kristaps  401: .Pq circumflex A
1.1       kristaps  402: .It \e(^E
1.11      kristaps  403: .Pq circumflex E
1.1       kristaps  404: .It \e(^I
1.11      kristaps  405: .Pq circumflex I
1.1       kristaps  406: .It \e(^O
1.11      kristaps  407: .Pq circumflex O
1.1       kristaps  408: .It \e(^U
1.11      kristaps  409: .Pq circumflex U
1.1       kristaps  410: .It \e(^a
1.11      kristaps  411: .Pq circumflex a
1.1       kristaps  412: .It \e(^e
1.11      kristaps  413: .Pq circumflex e
1.1       kristaps  414: .It \e(^i
1.11      kristaps  415: .Pq circumflex i
1.1       kristaps  416: .It \e(^o
1.11      kristaps  417: .Pq circumflex o
1.1       kristaps  418: .It \e(^u
1.11      kristaps  419: .Pq circumflex u
1.1       kristaps  420: .It \e(,C
1.11      kristaps  421: .Pq cedilla C
1.1       kristaps  422: .It \e(,c
1.11      kristaps  423: .Pq cedilla c
1.1       kristaps  424: .It \e(/L
1.11      kristaps  425: .Pq stroke L
1.1       kristaps  426: .It \e(/l
1.11      kristaps  427: .Pq stroke l
1.1       kristaps  428: .It \e(/O
1.11      kristaps  429: .Pq stroke O
1.1       kristaps  430: .It \e(/o
1.11      kristaps  431: .Pq stroke o
1.1       kristaps  432: .It \e(oA
1.11      kristaps  433: .Pq ring A
1.1       kristaps  434: .It \e(oa
1.11      kristaps  435: .Pq ring a
1.1       kristaps  436: .El
                    437: .\" PARAGRAPH
                    438: .Pp
                    439: Monetary:
1.8       kristaps  440: .Bl -tag -width Ds -offset indent -compact
1.1       kristaps  441: .It \e(Cs
                    442: .Pq Scandinavian
                    443: .It \e(Do
                    444: .Pq dollar
                    445: .It \e(Po
                    446: .Pq pound
                    447: .It \e(Ye
                    448: .Pq yen
                    449: .It \e(Fn
                    450: .Pq florin
                    451: .It \e(ct
                    452: .Pq cent
1.11      kristaps  453: .It \e(Eu
                    454: .Pq Euro character glyph
                    455: .It \e(eu
                    456: .Pq Euro symbol
                    457: .El
                    458: .\" PARAGRAPH
                    459: .Pp
                    460: Greek letters:
                    461: .Bl -tag -width Ds -offset indent -compact
                    462: .It \e(*A
                    463: .Pq Alpha
                    464: .It \e(*B
                    465: .Pq Beta
                    466: .It \e(*C
                    467: .Pq Xi
                    468: .It \e(*D
                    469: .Pq Delta
                    470: .It \e(*E
                    471: .Pq Epsilon
                    472: .It \e(*F
                    473: .Pq Phi
                    474: .It \e(*G
                    475: .Pq Gamma
                    476: .It \e(*H
                    477: .Pq Theta
                    478: .It \e(*I
                    479: .Pq Iota
                    480: .It \e(*K
                    481: .Pq Kappa
                    482: .It \e(*L
                    483: .Pq Lambda
                    484: .It \e(*M
                    485: .Pq Mu
                    486: .It \e(*N
                    487: .Pq Nu
                    488: .It \e(*O
                    489: .Pq Omicron
                    490: .It \e(*P
                    491: .Pq Pi
                    492: .It \e(*Q
                    493: .Pq Psi
                    494: .It \e(*R
                    495: .Pq Rho
                    496: .It \e(*S
                    497: .Pq Sigma
                    498: .It \e(*T
                    499: .Pq Tau
                    500: .It \e(*U
                    501: .Pq Upsilon
                    502: .It \e(*W
                    503: .Pq Omega
                    504: .It \e(*X
                    505: .Pq Chi
                    506: .It \e(*Y
                    507: .Pq Eta
                    508: .It \e(*Z
                    509: .Pq Zeta
                    510: .It \e(*a
                    511: .Pq alpha
                    512: .It \e(*b
                    513: .Pq beta
                    514: .It \e(*c
                    515: .Pq xi
                    516: .It \e(*d
                    517: .Pq delta
                    518: .It \e(*e
                    519: .Pq epsilon
                    520: .It \e(*f
                    521: .Pq phi
                    522: .It \e(+f
                    523: .Pq phi variant
                    524: .It \e(*g
                    525: .Pq gamma
                    526: .It \e(*h
                    527: .Pq theta
                    528: .It \e(+h
                    529: .Pq theta variant
                    530: .It \e(*i
                    531: .Pq iota
                    532: .It \e(*k
                    533: .Pq kappa
                    534: .It \e(*l
                    535: .Pq lambda
                    536: .It \e(*m
                    537: .Pq mu
                    538: .It \e(*n
                    539: .Pq nu
                    540: .It \e(*o
                    541: .Pq omicron
                    542: .It \e(*p
                    543: .Pq pi
                    544: .It \e(+p
                    545: .Pq pi variant
                    546: .It \e(*q
                    547: .Pq psi
                    548: .It \e(*r
                    549: .Pq rho
                    550: .It \e(*s
                    551: .Pq sigma
                    552: .It \e(*t
                    553: .Pq tau
                    554: .It \e(*u
                    555: .Pq upsilon
                    556: .It \e(*w
                    557: .Pq omega
                    558: .It \e(*x
                    559: .Pq chi
                    560: .It \e(*y
                    561: .Pq eta
                    562: .It \e(*z
                    563: .Pq zeta
                    564: .It \e(ts
                    565: .Pq sigma terminal
1.1       kristaps  566: .El
                    567: .\" PARAGRAPH
                    568: .Pp
                    569: Special symbols:
1.8       kristaps  570: .Bl -tag -width Ds -offset indent -compact
1.1       kristaps  571: .It \e0
                    572: .Pq white-space
                    573: .It \e(de
                    574: .Pq degree
                    575: .It \e(ps
                    576: .Pq paragraph
                    577: .It \e(sc
                    578: .Pq section
                    579: .It \e(dg
                    580: .Pq dagger
                    581: .It \e(dd
                    582: .Pq double dagger
                    583: .It \e(ci
                    584: .Pq circle
                    585: .It \e(ba
                    586: .Pq bar
                    587: .It \e(bb
                    588: .Pq broken bar
                    589: .It \e(co
                    590: .Pq copyright
                    591: .It \e(rg
                    592: .Pq registered
                    593: .It \e(tm
                    594: .Pq trademarked
                    595: .It \ee
                    596: .Pq escape
                    597: .El
                    598: .\" SECTION
1.10      kristaps  599: .Sh PREDEFINED STRINGS
                    600: These are not recommended for use, as they differ across
                    601: implementations:
                    602: .Pp
                    603: Mathematical:
                    604: .Bl -tag -width Ds -offset indent -compact
                    605: .It \e*(Ne
                    606: .Pq not equal
                    607: .It \e*(Ge
                    608: .Pq greater-than-equal
                    609: .It \e*(Le
                    610: .Pq less-than-equal
                    611: .It \e*(Gt
                    612: .Pq greater-than
                    613: .It \e*(Lt
                    614: .Pq greater-than
                    615: .It \e*(Pm
                    616: .Pq plus-minus
                    617: .It \e*(If
                    618: .Pq infinity
                    619: .It \e*(Pi
                    620: .Pq pi
                    621: .It \e*(Na
                    622: .Pq NaN
                    623: .El
                    624: .\" PARAGRAPH
                    625: .Pp
                    626: Special symbols:
                    627: .Bl -tag -width Ds -offset indent -compact
                    628: .It \e*(Ba
                    629: .Pq vertical bar
                    630: .It \e*(Am
                    631: .Pq ampersand
1.13    ! kristaps  632: .It \e*R
        !           633: .Pq restricted mark
        !           634: .It \e*(Tm
        !           635: .Pq trade mark
1.10      kristaps  636: .El
                    637: .\" PARAGRAPH
                    638: .Pp
                    639: Enclosures:
                    640: .Bl -tag -width Ds -offset indent -compact
                    641: .It \e*q
                    642: .Pq double-quote
                    643: .It \e*(Rq
                    644: .Pq right-double-quote
                    645: .It \e*(Lq
                    646: .Pq left-double-quote
                    647: .It \e*(lp
                    648: .Pq right-parenthesis
                    649: .It \e*(rp
                    650: .Pq left-parenthesis
                    651: .El
                    652: .\" SECTION
1.3       kristaps  653: .Sh COMPATIBILITY
                    654: This section documents compatibility of
                    655: .Nm
                    656: with older or existing versions of
                    657: .Xr groff 1 :
                    658: .Pp
1.8       kristaps  659: .Bl -tag -width Ds -offset indent -compact
1.3       kristaps  660: .It \e(ss
                    661: Renders differently in
                    662: .Fl T Ns Ar ascii
                    663: mode.
                    664: .El
                    665: .\" SECTION
1.1       kristaps  666: .Sh SEE ALSO
                    667: .Xr mandoc 1
                    668: .\" SECTION
                    669: .Sh AUTHORS
                    670: The
                    671: .Nm
                    672: utility was written by
1.6       kristaps  673: .An Kristaps Dzonsons Aq kristaps@kth.se .

CVSweb