📄 annobib.c
字号:
#ifndef lintstatic char *sccsid = "@(#)annobib.c 4.1 (Berkeley) 5/6/83";#endif/* * This program has been replaced by "refer -B" (bibliography mode), * but is included here for backward compatiblity. */#include <stdio.h>int noanno = 0; /* option to suppress .AP from %X field */main(argc, argv) /* format (annotated) bibliography for n/troff */int argc;char *argv[];{ FILE *fp, *fopen(); if (argv[1][0] == '-' && argv[1][1] == 'x') { noanno = 1; argv++; argc--; } if (argc == 1) { annobib(stdin); exit(0); } while (--argc > 0) { if ((fp = fopen(*++argv, "r")) == NULL) { perror(*argv); exit(1); } annobib(fp); fclose(fp); } exit(0);}annobib(fp) /* prepare bibliography for refer bare mode */FILE *fp;{ char line[BUFSIZ]; int begun, ended; begun = 0; ended = 1; while (fgets(line, BUFSIZ, fp)) { if (line[0] == '%' && line[1] == 'X' && !noanno) { zap_x(line); printf(".]\n.AP\n%s", line); ended = 1; begun = 0; } else if (line[0] == '%') { if (!begun) { puts(".["); begun = 1; ended = 0; } fputs(line, stdout); } else if (line[0] == '\n') { if (!ended) { puts(".]"); ended = 1; begun = 0; } } else fputs(line, stdout); } if (!ended) puts(".]");}zap_x(line) /* take %X annotation flag out of line */char line[];{ register int i, j; for (i = 3, j = 0; line[i] != NULL; i++, j++) line[j] = line[i]; line[j] = NULL; return;}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -