Create Report Template
[matches/MCTX3420.git] / reports / final / styles / plain.bst
1 % BibTeX standard bibliography style `plain'
2         % version 0.99a for BibTeX versions 0.99a or later, LaTeX version 2.09.
3         % Copyright (C) 1985, all rights reserved.
4         % Copying of this file is authorized only if either
5         % (1) you make absolutely no changes to your copy, including name, or
6         % (2) if you do make changes, you name it something other than
7         % btxbst.doc, plain.bst, unsrt.bst, alpha.bst, and abbrv.bst.
8         % This restriction helps ensure that all standard styles are identical.
9         % The file btxbst.doc has the documentation for this style.
10
11 ENTRY
12   { address
13     author
14     booktitle
15     chapter
16     edition
17     editor
18     howpublished
19     institution
20     journal
21     key
22     month
23     note
24     number
25     organization
26     pages
27     publisher
28     school
29     series
30     title
31     type
32     volume
33     year
34   }
35   {}
36   { label }
37
38 INTEGERS { output.state before.all mid.sentence after.sentence after.block }
39
40 FUNCTION {init.state.consts}
41 { #0 'before.all :=
42   #1 'mid.sentence :=
43   #2 'after.sentence :=
44   #3 'after.block :=
45 }
46
47 STRINGS { s t }
48
49 FUNCTION {output.nonnull}
50 { 's :=
51   output.state mid.sentence =
52     { ", " * write$ }
53     { output.state after.block =
54         { add.period$ write$
55           newline$
56           "\newblock " write$
57         }
58         { output.state before.all =
59             'write$
60             { add.period$ " " * write$ }
61           if$
62         }
63       if$
64       mid.sentence 'output.state :=
65     }
66   if$
67   s
68 }
69
70 FUNCTION {output}
71 { duplicate$ empty$
72     'pop$
73     'output.nonnull
74   if$
75 }
76
77 FUNCTION {output.check}
78 { 't :=
79   duplicate$ empty$
80     { pop$ "empty " t * " in " * cite$ * warning$ }
81     'output.nonnull
82   if$
83 }
84
85 FUNCTION {output.bibitem}
86 { newline$
87   "\bibitem{" write$
88   cite$ write$
89   "}" write$
90   newline$
91   ""
92   before.all 'output.state :=
93 }
94
95 FUNCTION {fin.entry}
96 { add.period$
97   write$
98   newline$
99 }
100
101 FUNCTION {new.block}
102 { output.state before.all =
103     'skip$
104     { after.block 'output.state := }
105   if$
106 }
107
108 FUNCTION {new.sentence}
109 { output.state after.block =
110     'skip$
111     { output.state before.all =
112         'skip$
113         { after.sentence 'output.state := }
114       if$
115     }
116   if$
117 }
118
119 FUNCTION {not}
120 {   { #0 }
121     { #1 }
122   if$
123 }
124
125 FUNCTION {and}
126 {   'skip$
127     { pop$ #0 }
128   if$
129 }
130
131 FUNCTION {or}
132 {   { pop$ #1 }
133     'skip$
134   if$
135 }
136
137 FUNCTION {new.block.checka}
138 { empty$
139     'skip$
140     'new.block
141   if$
142 }
143
144 FUNCTION {new.block.checkb}
145 { empty$
146   swap$ empty$
147   and
148     'skip$
149     'new.block
150   if$
151 }
152
153 FUNCTION {new.sentence.checka}
154 { empty$
155     'skip$
156     'new.sentence
157   if$
158 }
159
160 FUNCTION {new.sentence.checkb}
161 { empty$
162   swap$ empty$
163   and
164     'skip$
165     'new.sentence
166   if$
167 }
168
169 FUNCTION {field.or.null}
170 { duplicate$ empty$
171     { pop$ "" }
172     'skip$
173   if$
174 }
175
176 FUNCTION {emphasize}
177 { duplicate$ empty$
178     { pop$ "" }
179     { "{\em " swap$ * "}" * }
180   if$
181 }
182
183 INTEGERS { nameptr namesleft numnames }
184
185 FUNCTION {format.names}
186 { 's :=
187   #1 'nameptr :=
188   s num.names$ 'numnames :=
189   numnames 'namesleft :=
190     { namesleft #0 > }
191     { s nameptr "{ff~}{vv~}{ll}{, jj}" format.name$ 't :=
192       nameptr #1 >
193         { namesleft #1 >
194             { ", " * t * }
195             { numnames #2 >
196                 { "," * }
197                 'skip$
198               if$
199               t "others" =
200                 { " et~al." * }
201                 { " and " * t * }
202               if$
203             }
204           if$
205         }
206         't
207       if$
208       nameptr #1 + 'nameptr :=
209       namesleft #1 - 'namesleft :=
210     }
211   while$
212 }
213
214 FUNCTION {format.authors}
215 { author empty$
216     { "" }
217     { author format.names }
218   if$
219 }
220
221 FUNCTION {format.editors}
222 { editor empty$
223     { "" }
224     { editor format.names
225       editor num.names$ #1 >
226         { ", editors" * }
227         { ", editor" * }
228       if$
229     }
230   if$
231 }
232
233 FUNCTION {format.title}
234 { title empty$
235     { "" }
236     { title "t" change.case$ }
237   if$
238 }
239
240 FUNCTION {n.dashify}
241 { 't :=
242   ""
243     { t empty$ not }
244     { t #1 #1 substring$ "-" =
245         { t #1 #2 substring$ "--" = not
246             { "--" *
247               t #2 global.max$ substring$ 't :=
248             }
249             {   { t #1 #1 substring$ "-" = }
250                 { "-" *
251                   t #2 global.max$ substring$ 't :=
252                 }
253               while$
254             }
255           if$
256         }
257         { t #1 #1 substring$ *
258           t #2 global.max$ substring$ 't :=
259         }
260       if$
261     }
262   while$
263 }
264
265 FUNCTION {format.date}
266 { year empty$
267     { month empty$
268         { "" }
269         { "there's a month but no year in " cite$ * warning$
270           month
271         }
272       if$
273     }
274     { month empty$
275         'year
276         { month " " * year * }
277       if$
278     }
279   if$
280 }
281
282 FUNCTION {format.btitle}
283 { title emphasize
284 }
285
286 FUNCTION {tie.or.space.connect}
287 { duplicate$ text.length$ #3 <
288     { "~" }
289     { " " }
290   if$
291   swap$ * *
292 }
293
294 FUNCTION {either.or.check}
295 { empty$
296     'pop$
297     { "can't use both " swap$ * " fields in " * cite$ * warning$ }
298   if$
299 }
300
301 FUNCTION {format.bvolume}
302 { volume empty$
303     { "" }
304     { "volume" volume tie.or.space.connect
305       series empty$
306         'skip$
307         { " of " * series emphasize * }
308       if$
309       "volume and number" number either.or.check
310     }
311   if$
312 }
313
314 FUNCTION {format.number.series}
315 { volume empty$
316     { number empty$
317         { series field.or.null }
318         { output.state mid.sentence =
319             { "number" }
320             { "Number" }
321           if$
322           number tie.or.space.connect
323           series empty$
324             { "there's a number but no series in " cite$ * warning$ }
325             { " in " * series * }
326           if$
327         }
328       if$
329     }
330     { "" }
331   if$
332 }
333
334 FUNCTION {format.edition}
335 { edition empty$
336     { "" }
337     { output.state mid.sentence =
338         { edition "l" change.case$ " edition" * }
339         { edition "t" change.case$ " edition" * }
340       if$
341     }
342   if$
343 }
344
345 INTEGERS { multiresult }
346
347 FUNCTION {multi.page.check}
348 { 't :=
349   #0 'multiresult :=
350     { multiresult not
351       t empty$ not
352       and
353     }
354     { t #1 #1 substring$
355       duplicate$ "-" =
356       swap$ duplicate$ "," =
357       swap$ "+" =
358       or or
359         { #1 'multiresult := }
360         { t #2 global.max$ substring$ 't := }
361       if$
362     }
363   while$
364   multiresult
365 }
366
367 FUNCTION {format.pages}
368 { pages empty$
369     { "" }
370     { pages multi.page.check
371         { "pages" pages n.dashify tie.or.space.connect }
372         { "page" pages tie.or.space.connect }
373       if$
374     }
375   if$
376 }
377
378 FUNCTION {format.vol.num.pages}
379 { volume field.or.null
380   number empty$
381     'skip$
382     { "(" number * ")" * *
383       volume empty$
384         { "there's a number but no volume in " cite$ * warning$ }
385         'skip$
386       if$
387     }
388   if$
389   pages empty$
390     'skip$
391     { duplicate$ empty$
392         { pop$ format.pages }
393         { ":" * pages n.dashify * }
394       if$
395     }
396   if$
397 }
398
399 FUNCTION {format.chapter.pages}
400 { chapter empty$
401     'format.pages
402     { type empty$
403         { "chapter" }
404         { type "l" change.case$ }
405       if$
406       chapter tie.or.space.connect
407       pages empty$
408         'skip$
409         { ", " * format.pages * }
410       if$
411     }
412   if$
413 }
414
415 FUNCTION {format.in.ed.booktitle}
416 { booktitle empty$
417     { "" }
418     { editor empty$
419         { "In " booktitle emphasize * }
420         { "In " format.editors * ", " * booktitle emphasize * }
421       if$
422     }
423   if$
424 }
425
426 FUNCTION {empty.misc.check}
427 { author empty$ title empty$ howpublished empty$
428   month empty$ year empty$ note empty$
429   and and and and and
430   key empty$ not and
431     { "all relevant fields are empty in " cite$ * warning$ }
432     'skip$
433   if$
434 }
435
436 FUNCTION {format.thesis.type}
437 { type empty$
438     'skip$
439     { pop$
440       type "t" change.case$
441     }
442   if$
443 }
444
445 FUNCTION {format.tr.number}
446 { type empty$
447     { "Technical Report" }
448     'type
449   if$
450   number empty$
451     { "t" change.case$ }
452     { number tie.or.space.connect }
453   if$
454 }
455
456 FUNCTION {format.article.crossref}
457 { key empty$
458     { journal empty$
459         { "need key or journal for " cite$ * " to crossref " * crossref *
460           warning$
461           ""
462         }
463         { "In {\em " journal * "\/}" * }
464       if$
465     }
466     { "In " key * }
467   if$
468   " \cite{" * crossref * "}" *
469 }
470
471 FUNCTION {format.crossref.editor}
472 { editor #1 "{vv~}{ll}" format.name$
473   editor num.names$ duplicate$
474   #2 >
475     { pop$ " et~al." * }
476     { #2 <
477         'skip$
478         { editor #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" =
479             { " et~al." * }
480             { " and " * editor #2 "{vv~}{ll}" format.name$ * }
481           if$
482         }
483       if$
484     }
485   if$
486 }
487
488 FUNCTION {format.book.crossref}
489 { volume empty$
490     { "empty volume in " cite$ * "'s crossref of " * crossref * warning$
491       "In "
492     }
493     { "Volume" volume tie.or.space.connect
494       " of " *
495     }
496   if$
497   editor empty$
498   editor field.or.null author field.or.null =
499   or
500     { key empty$
501         { series empty$
502             { "need editor, key, or series for " cite$ * " to crossref " *
503               crossref * warning$
504               "" *
505             }
506             { "{\em " * series * "\/}" * }
507           if$
508         }
509         { key * }
510       if$
511     }
512     { format.crossref.editor * }
513   if$
514   " \cite{" * crossref * "}" *
515 }
516
517 FUNCTION {format.incoll.inproc.crossref}
518 { editor empty$
519   editor field.or.null author field.or.null =
520   or
521     { key empty$
522         { booktitle empty$
523             { "need editor, key, or booktitle for " cite$ * " to crossref " *
524               crossref * warning$
525               ""
526             }
527             { "In {\em " booktitle * "\/}" * }
528           if$
529         }
530         { "In " key * }
531       if$
532     }
533     { "In " format.crossref.editor * }
534   if$
535   " \cite{" * crossref * "}" *
536 }
537
538 FUNCTION {article}
539 { output.bibitem
540   format.authors "author" output.check
541   new.block
542   format.title "title" output.check
543   new.block
544   crossref missing$
545     { journal emphasize "journal" output.check
546       format.vol.num.pages output
547       format.date "year" output.check
548     }
549     { format.article.crossref output.nonnull
550       format.pages output
551     }
552   if$
553   new.block
554   note output
555   fin.entry
556 }
557
558 FUNCTION {book}
559 { output.bibitem
560   author empty$
561     { format.editors "author and editor" output.check }
562     { format.authors output.nonnull
563       crossref missing$
564         { "author and editor" editor either.or.check }
565         'skip$
566       if$
567     }
568   if$
569   new.block
570   format.btitle "title" output.check
571   crossref missing$
572     { format.bvolume output
573       new.block
574       format.number.series output
575       new.sentence
576       publisher "publisher" output.check
577       address output
578     }
579     { new.block
580       format.book.crossref output.nonnull
581     }
582   if$
583   format.edition output
584   format.date "year" output.check
585   new.block
586   note output
587   fin.entry
588 }
589
590 FUNCTION {booklet}
591 { output.bibitem
592   format.authors output
593   new.block
594   format.title "title" output.check
595   howpublished address new.block.checkb
596   howpublished output
597   address output
598   format.date output
599   new.block
600   note output
601   fin.entry
602 }
603
604 FUNCTION {inbook}
605 { output.bibitem
606   author empty$
607     { format.editors "author and editor" output.check }
608     { format.authors output.nonnull
609       crossref missing$
610         { "author and editor" editor either.or.check }
611         'skip$
612       if$
613     }
614   if$
615   new.block
616   format.btitle "title" output.check
617   crossref missing$
618     { format.bvolume output
619       format.chapter.pages "chapter and pages" output.check
620       new.block
621       format.number.series output
622       new.sentence
623       publisher "publisher" output.check
624       address output
625     }
626     { format.chapter.pages "chapter and pages" output.check
627       new.block
628       format.book.crossref output.nonnull
629     }
630   if$
631   format.edition output
632   format.date "year" output.check
633   new.block
634   note output
635   fin.entry
636 }
637
638 FUNCTION {incollection}
639 { output.bibitem
640   format.authors "author" output.check
641   new.block
642   format.title "title" output.check
643   new.block
644   crossref missing$
645     { format.in.ed.booktitle "booktitle" output.check
646       format.bvolume output
647       format.number.series output
648       format.chapter.pages output
649       new.sentence
650       publisher "publisher" output.check
651       address output
652       format.edition output
653       format.date "year" output.check
654     }
655     { format.incoll.inproc.crossref output.nonnull
656       format.chapter.pages output
657     }
658   if$
659   new.block
660   note output
661   fin.entry
662 }
663
664 FUNCTION {inproceedings}
665 { output.bibitem
666   format.authors "author" output.check
667   new.block
668   format.title "title" output.check
669   new.block
670   crossref missing$
671     { format.in.ed.booktitle "booktitle" output.check
672       format.bvolume output
673       format.number.series output
674       format.pages output
675       address empty$
676         { organization publisher new.sentence.checkb
677           organization output
678           publisher output
679           format.date "year" output.check
680         }
681         { address output.nonnull
682           format.date "year" output.check
683           new.sentence
684           organization output
685           publisher output
686         }
687       if$
688     }
689     { format.incoll.inproc.crossref output.nonnull
690       format.pages output
691     }
692   if$
693   new.block
694   note output
695   fin.entry
696 }
697
698 FUNCTION {conference} { inproceedings }
699
700 FUNCTION {manual}
701 { output.bibitem
702   author empty$
703     { organization empty$
704         'skip$
705         { organization output.nonnull
706           address output
707         }
708       if$
709     }
710     { format.authors output.nonnull }
711   if$
712   new.block
713   format.btitle "title" output.check
714   author empty$
715     { organization empty$
716         { address new.block.checka
717           address output
718         }
719         'skip$
720       if$
721     }
722     { organization address new.block.checkb
723       organization output
724       address output
725     }
726   if$
727   format.edition output
728   format.date output
729   new.block
730   note output
731   fin.entry
732 }
733
734 FUNCTION {mastersthesis}
735 { output.bibitem
736   format.authors "author" output.check
737   new.block
738   format.title "title" output.check
739   new.block
740   "Master's thesis" format.thesis.type output.nonnull
741   school "school" output.check
742   address output
743   format.date "year" output.check
744   new.block
745   note output
746   fin.entry
747 }
748
749 FUNCTION {misc}
750 { output.bibitem
751   format.authors output
752   title howpublished new.block.checkb
753   format.title output
754   howpublished new.block.checka
755   howpublished output
756   format.date output
757   new.block
758   note output
759   fin.entry
760   empty.misc.check
761 }
762
763 FUNCTION {phdthesis}
764 { output.bibitem
765   format.authors "author" output.check
766   new.block
767   format.btitle "title" output.check
768   new.block
769   "PhD thesis" format.thesis.type output.nonnull
770   school "school" output.check
771   address output
772   format.date "year" output.check
773   new.block
774   note output
775   fin.entry
776 }
777
778 FUNCTION {proceedings}
779 { output.bibitem
780   editor empty$
781     { organization output }
782     { format.editors output.nonnull }
783   if$
784   new.block
785   format.btitle "title" output.check
786   format.bvolume output
787   format.number.series output
788   address empty$
789     { editor empty$
790         { publisher new.sentence.checka }
791         { organization publisher new.sentence.checkb
792           organization output
793         }
794       if$
795       publisher output
796       format.date "year" output.check
797     }
798     { address output.nonnull
799       format.date "year" output.check
800       new.sentence
801       editor empty$
802         'skip$
803         { organization output }
804       if$
805       publisher output
806     }
807   if$
808   new.block
809   note output
810   fin.entry
811 }
812
813 FUNCTION {techreport}
814 { output.bibitem
815   format.authors "author" output.check
816   new.block
817   format.title "title" output.check
818   new.block
819   format.tr.number output.nonnull
820   institution "institution" output.check
821   address output
822   format.date "year" output.check
823   new.block
824   note output
825   fin.entry
826 }
827
828 FUNCTION {unpublished}
829 { output.bibitem
830   format.authors "author" output.check
831   new.block
832   format.title "title" output.check
833   new.block
834   note "note" output.check
835   format.date output
836   fin.entry
837 }
838
839 FUNCTION {default.type} { misc }
840
841 MACRO {jan} {"January"}
842
843 MACRO {feb} {"February"}
844
845 MACRO {mar} {"March"}
846
847 MACRO {apr} {"April"}
848
849 MACRO {may} {"May"}
850
851 MACRO {jun} {"June"}
852
853 MACRO {jul} {"July"}
854
855 MACRO {aug} {"August"}
856
857 MACRO {sep} {"September"}
858
859 MACRO {oct} {"October"}
860
861 MACRO {nov} {"November"}
862
863 MACRO {dec} {"December"}
864
865 MACRO {acmcs} {"ACM Computing Surveys"}
866
867 MACRO {acta} {"Acta Informatica"}
868
869 MACRO {cacm} {"Communications of the ACM"}
870
871 MACRO {ibmjrd} {"IBM Journal of Research and Development"}
872
873 MACRO {ibmsj} {"IBM Systems Journal"}
874
875 MACRO {ieeese} {"IEEE Transactions on Software Engineering"}
876
877 MACRO {ieeetc} {"IEEE Transactions on Computers"}
878
879 MACRO {ieeetcad}
880  {"IEEE Transactions on Computer-Aided Design of Integrated Circuits"}
881
882 MACRO {ipl} {"Information Processing Letters"}
883
884 MACRO {jacm} {"Journal of the ACM"}
885
886 MACRO {jcss} {"Journal of Computer and System Sciences"}
887
888 MACRO {scp} {"Science of Computer Programming"}
889
890 MACRO {sicomp} {"SIAM Journal on Computing"}
891
892 MACRO {tocs} {"ACM Transactions on Computer Systems"}
893
894 MACRO {tods} {"ACM Transactions on Database Systems"}
895
896 MACRO {tog} {"ACM Transactions on Graphics"}
897
898 MACRO {toms} {"ACM Transactions on Mathematical Software"}
899
900 MACRO {toois} {"ACM Transactions on Office Information Systems"}
901
902 MACRO {toplas} {"ACM Transactions on Programming Languages and Systems"}
903
904 MACRO {tcs} {"Theoretical Computer Science"}
905
906 READ
907
908 FUNCTION {sortify}
909 { purify$
910   "l" change.case$
911 }
912
913 INTEGERS { len }
914
915 FUNCTION {chop.word}
916 { 's :=
917   'len :=
918   s #1 len substring$ =
919     { s len #1 + global.max$ substring$ }
920     's
921   if$
922 }
923
924 FUNCTION {sort.format.names}
925 { 's :=
926   #1 'nameptr :=
927   ""
928   s num.names$ 'numnames :=
929   numnames 'namesleft :=
930     { namesleft #0 > }
931     { nameptr #1 >
932         { "   " * }
933         'skip$
934       if$
935       s nameptr "{vv{ } }{ll{ }}{  ff{ }}{  jj{ }}" format.name$ 't :=
936       nameptr numnames = t "others" = and
937         { "et al" * }
938         { t sortify * }
939       if$
940       nameptr #1 + 'nameptr :=
941       namesleft #1 - 'namesleft :=
942     }
943   while$
944 }
945
946 FUNCTION {sort.format.title}
947 { 't :=
948   "A " #2
949     "An " #3
950       "The " #4 t chop.word
951     chop.word
952   chop.word
953   sortify
954   #1 global.max$ substring$
955 }
956
957 FUNCTION {author.sort}
958 { author empty$
959     { key empty$
960         { "to sort, need author or key in " cite$ * warning$
961           ""
962         }
963         { key sortify }
964       if$
965     }
966     { author sort.format.names }
967   if$
968 }
969
970 FUNCTION {author.editor.sort}
971 { author empty$
972     { editor empty$
973         { key empty$
974             { "to sort, need author, editor, or key in " cite$ * warning$
975               ""
976             }
977             { key sortify }
978           if$
979         }
980         { editor sort.format.names }
981       if$
982     }
983     { author sort.format.names }
984   if$
985 }
986
987 FUNCTION {author.organization.sort}
988 { author empty$
989     { organization empty$
990         { key empty$
991             { "to sort, need author, organization, or key in " cite$ * warning$
992               ""
993             }
994             { key sortify }
995           if$
996         }
997         { "The " #4 organization chop.word sortify }
998       if$
999     }
1000     { author sort.format.names }
1001   if$
1002 }
1003
1004 FUNCTION {editor.organization.sort}
1005 { editor empty$
1006     { organization empty$
1007         { key empty$
1008             { "to sort, need editor, organization, or key in " cite$ * warning$
1009               ""
1010             }
1011             { key sortify }
1012           if$
1013         }
1014         { "The " #4 organization chop.word sortify }
1015       if$
1016     }
1017     { editor sort.format.names }
1018   if$
1019 }
1020
1021 FUNCTION {presort}
1022 { type$ "book" =
1023   type$ "inbook" =
1024   or
1025     'author.editor.sort
1026     { type$ "proceedings" =
1027         'editor.organization.sort
1028         { type$ "manual" =
1029             'author.organization.sort
1030             'author.sort
1031           if$
1032         }
1033       if$
1034     }
1035   if$
1036   "    "
1037   *
1038   year field.or.null sortify
1039   *
1040   "    "
1041   *
1042   title field.or.null
1043   sort.format.title
1044   *
1045   #1 entry.max$ substring$
1046   'sort.key$ :=
1047 }
1048
1049 ITERATE {presort}
1050
1051 SORT
1052
1053 STRINGS { longest.label }
1054
1055 INTEGERS { number.label longest.label.width }
1056
1057 FUNCTION {initialize.longest.label}
1058 { "" 'longest.label :=
1059   #1 'number.label :=
1060   #0 'longest.label.width :=
1061 }
1062
1063 FUNCTION {longest.label.pass}
1064 { number.label int.to.str$ 'label :=
1065   number.label #1 + 'number.label :=
1066   label width$ longest.label.width >
1067     { label 'longest.label :=
1068       label width$ 'longest.label.width :=
1069     }
1070     'skip$
1071   if$
1072 }
1073
1074 EXECUTE {initialize.longest.label}
1075
1076 ITERATE {longest.label.pass}
1077
1078 FUNCTION {begin.bib}
1079 { preamble$ empty$
1080     'skip$
1081     { preamble$ write$ newline$ }
1082   if$
1083   "\begin{thebibliography}{"  longest.label  * "}" * write$ newline$
1084 }
1085
1086 EXECUTE {begin.bib}
1087
1088 EXECUTE {init.state.consts}
1089
1090 ITERATE {call.type$}
1091
1092 FUNCTION {end.bib}
1093 { newline$
1094   "\end{thebibliography}" write$ newline$
1095 }
1096
1097 EXECUTE {end.bib}

UCC git Repository :: git.ucc.asn.au