/contrib/groff/src/preproc/refer/TODO

https://bitbucket.org/freebsd/freebsd-head/ · #! · 124 lines · 87 code · 37 blank · 0 comment · 0 complexity · 062ee97e38ce1f0f6df3e38871768d84 MD5 · raw file

  1. inline references
  2. Some sort of macro/subroutine that can cover several references.
  3. move-punctuation should ignore multiple punctuation characters.
  4. Make the index files machine independent.
  5. Allow search keys to be negated (with !) to indicate that the
  6. reference should not contain the key. Ignore negated keys during
  7. indexed searching.
  8. Provide an option with lkbib and lookbib that prints the location
  9. (filename, position) of each reference. Need to map filename_id's
  10. back to filenames.
  11. Rename join-authors to join-fields. Have a separate label-join-fields
  12. command used by @ and #.
  13. Have some sort of quantifier: eg $.n#A means execute `$.n' for each
  14. instance of an A field, setting $ to that field, and then join the
  15. results using the join-authors command.
  16. no-text-in-bracket command which says not to allow post_text and
  17. pre_text when the [] flags has been given. Useful for superscripted
  18. footnotes.
  19. Make it possible to translate - to \(en in page ranges.
  20. Trim eign a bit.
  21. In indexed searching discard all numeric keys except dates.
  22. Allow `\ ' to separate article from first word.
  23. %also
  24. Option automatically to supply [] flags in every reference.
  25. See if we can avoid requiring a comma before jr. and so on
  26. in find_last_name().
  27. Cache sortified authors in authors string during tentative evaluation of
  28. label specification.
  29. Possibly don't allow * and % expressions in the first part of ?:, | or
  30. & expressions.
  31. Handle better the case where <> occurs inside functions and in the
  32. first operand of ~. Or perhaps implement <> using some magic character
  33. in the string.
  34. Should special treatment be given to lines beginning with . in
  35. references? (Unix refer seems to treat them like `%').
  36. Add global flag to control whether all files should be stat-ed after
  37. loading, and whether they should be stat-ed before each search.
  38. Perhaps make this dependent on the number of files there are.
  39. Option to truncate keys to truncate_len in linear searching.
  40. Allow multiple -f options in indxbib.
  41. In indxbib, possibly store common words rather than common words
  42. filename. In this case store only words that are actually present in
  43. the file.
  44. Perhaps we should put out an obnoxious copyright message when lookbib
  45. starts up.
  46. Provide an option that writes a file containing just the references
  47. actually used. Useful if you want to distribute a document.
  48. Have a magic token such that
  49. %A <sort stuff><magic token><print stuff>
  50. will print as though it were
  51. %A <print stuff>
  52. but sort as though it were
  53. %A <sort stuff>
  54. Do we need this if we can specify author alternatives for sorting?
  55. No, provided we have separate alternatives for @.
  56. In consider_authors when last names are ambiguous we might be able to
  57. use just the first name and not Jr. bit. Or we might be able to
  58. abbreviate the author.
  59. It ought to be possible to specify an alternative field to sort on
  60. instead of date. (ie if there's a field giving the type of document --
  61. these references should sort after any years)
  62. Provide a way to execute a command using a command-line option.
  63. Option to set the label-spec as a command-line option (-L).
  64. Command to to specify which fields can occur multiple times:
  65. multiple AE
  66. Command to specify how various fields sort:
  67. aort-as-name A
  68. sort-as-date D
  69. sort-as-title T
  70. sort-as-other O
  71. Command to specify which fields are author fields:
  72. # if we don't have A use field Q
  73. author-fields AQ
  74. Commands to set properties of tokens.
  75. sortify-token \(ae ae
  76. uppercase-token \[ae] \[AE]
  77. Command to set the names of months:
  78. months january february march april may ...
  79. Perhaps provide some sort of macro capability:
  80. # perhaps a macro capability
  81. defmacro foo
  82. annotation-field $1
  83. endef
  84. Command to control strings used in capitalization
  85. capitalize-start \s+2
  86. capitalize-end \s-2
  87. (perhaps make these arguments to the capitalize command.)