Re: Using @defblock / @linemacro for API documentation
Luis Felipe <[email protected]>
| Newsgroups | gmane.comp.tex.texinfo.general |
|---|---|
| Message-ID | <[email protected]> |
Hi, El 19/03/23 a las 11:40, Gavin Smith escribió: > (switching from help-texinfo to bug-texinfo) > > On Mon, Mar 06, 2023 at 10:45:05PM +0900, Jean-Christophe Helary wrote: >>>> I found the example with a nested @def* block interesting: >>>> >>>> https://luis-felipe.gitlab.io/texinfo-css/Elements.html#Definitions >>>> >>>> It reminded me of this thread: >>>> >>>> https://lists.gnu.org/archive/html/bug-texinfo/2022-02/msg00000.html >>>> >>>> Nested @def* could be a good way to define parameters, return values, and >>>> so on. With the new @defline facility the user could define macros like >>>> @param that expanded to "@defline Parameter". >>> That would be nice because I think those kinds of nested definitions make it easier to find the information you're looking for compared to defining parameters within the paragraphs that explain a given command, procedure, etc.<publickey - [email protected] - 0x12DE1598.asc> > > Here's an example of how @defline and @linemacro can be used together > to imitate the format of the numpy documentation at > https://numpy.org/doc/1.24/reference/generated/numpy.fft.fft.html#numpy.fft.fft > (numpy was referred to in the previous discussion). > > Currently this only works with texinfo.tex. > > > @linemacro param {param, type} > @defline Parameter @var{\param\} @code{ : \type\} > @end linemacro > @linemacro returns {param, type} > @defline {Return Value} @var{\param\} @code{ : \type\} > @end linemacro > @linemacro raises {exception} > @defline {Exception} \exception\ > @end linemacro > > @set txidefnamenospace > @clear txicodevaristt > > @defblock > @defline Function fft.fft (a, n=@code{None}, axis=@code{-1}, norm=@code{None}) > Compute the one-dimensional discrete Fourier Transform. > > @defblock > @param a array_like > Input array, can be complex. > > @param n int, optional > Length of the transformed axis of the output. > If @var{n} is smaller than the length of the input, the input is cropped. > > @param axis int, optional > Axis over which to compute the FFT. > > @returns out complex ndarray > The truncated or zero-padded input. > > @raises IndexError > If @var{axis} is not a valid axis of @var{a}. > > @end defblock > > @end defblock It looks great to me! Looking forward to using it in my documentation.
OpenPGP_0x0AB0D067012F08C3.asc
(application/pgp-keys, 2.8 KB)
-----BEGIN PGP PUBLIC KEY BLOCK----- xsBNBGQLfUoBCADXXtq7q0B515koc28OwplQF3XrLOcHzn7DW2HL8WnRfSJp2Yra Ko6HyfbPmkjkfoRXpXyJBPvRE7f3O5RWkcEoTEXo5Ll2QEtYfangcoTxImcfwsdK mRl6saEPNhIykrYNM6gcLHxiL//NZZJwO+9uD2R4JRIQfJ7gJ4/e2m8SlA/0Xw1J KqClOOewnwUcb+cYtZSQo4r0ujYdDcFYlG3I7F+/DwTZfqCnixL0fSXEUOVQ5dUp u2lK3wMRHE9H60QEM96t6RPiQFA2uan8fX4eT1Igmdq69QUOAQBP5AHW91E+1eMT qcOa8VmCtJjcY9AMW65LVIzegwkQE4H0vC8DABEBAAHNOEx1aXMgRmVsaXBlIEzD s3BleiBBY2V2ZWRvIDxsdWlzLmZlbGlwZS5sYUB6b2hvbWFpbC5jb20+wsCOBBMB CAA4FiEECRCCei4GHmFsBqw9CrDQZwEvCMMFAmQLfUoCGwMFCwkIBwIGFQoJCAsC BBYCAwECHgECF4AACgkQCrDQZwEvCMO+oQf/bZt7NOgQw96RJSM32wTQhqj6C1dK jgtKmFecjxxXM5EiYQZPvBDrmjnzVu1mw70eE1N5DFNpCu0qp2vSqvly+PIa7z5F UOTivVpV6lDDc07BpW4J8/HNZu/GFmvZ2QtzPlr2rcGcRcwYlK9E+WKxT6lPINWN t2Ca9v+0Kz0OIAj4gEiJZNWQ41tIAHwNm9NKvBgtLxWB3UPteLnHSwRm7gptWF8I qkjyxNygj3vE+SSVYoilcQsljmCV4zbp7kGUFK9pIxwy85e4VmOehyKLxDqiIGKs 42PydPTFQc1KpmNpbrnadYyXEI8ZchMHbFI6YCduqv1aJ0Q2LmXxItikMc0uTHVp cyBGZWxpcGUgTMOzcGV6IEFjZXZlZG8gPHNpcmdhemlsQHpvaG8uY29tPsLAjgQT AQgAOBYhBAkQgnouBh5hbAasPQqw0GcBLwjDBQJkC345AhsDBQsJCAcCBhUKCQgL AgQWAgMBAh4BAheAAAoJEAqw0GcBLwjDSMMIALPFm3V9/KkzyEjoEYgtK7MNl8ce fER0K650rbenTX30/5lYwON4EFubf2cYUYwRSs8d+7Le6h035Mi13FGwwRhrDXyv zn1ifQbxBWkB4BgoIrAKvpjwOatC8+8D9zSi1giZhaoc4hggG6vkBhBB3mGx9lSL DZlghPIetNJkq4FHTFDqoFQt0ZgAZIGh46jjy4X+kSdhiNqnFSeZGFazQemdWZXS aipVx1se88aioXWlG8t6Ypr3r8vs+nAgWBYMdazymuIS4bxctSlM47zPt3E3lBwJ pdso0VjnTKfwKiWofCvTkHNO17OJegVGUQqMx6HeyinhY3nqZZaCzDIqkzfNOkx1 aXMgRmVsaXBlIEzDs3BleiBBY2V2ZWRvIDxsdWlzLmZlbGlwZS5sYUBwcm90b25t YWlsLmNvbT7CwI4EEwEIADgWIQQJEIJ6LgYeYWwGrD0KsNBnAS8IwwUCZAuABAIb AwULCQgHAgYVCgkICwIEFgIDAQIeAQIXgAAKCRAKsNBnAS8Iw3z9B/9TKed3eCaW vvPeMTeFAUcoqAiV39680Y0ppVdXTQmSBbs4QdIuABhgA7ZP9w1D8QOz8PKFCXN0 W7O2uFwuz/ZIh5yoLfY9ngtUibsjRjnLLEbRQnIAIBcwOVjTQnDC42WaZbiXqaPt WLeT48TULTMOKELc3B2mcLtrVyeDrjGe1f5nvpBb9m1JE7KtNfkPNNcQTpdsP1ru 4tg7EYWUM/oET6N2nq0Md6x/C1FPAF6l/Kskp9AmXTT01HRpjLFmnZYKiK5cuxv4 VgIkixHCuC4Y36AxnnpZ+BNS+Va9SSWBs4tvTqw6OR+ZV6DIJLRfHPoZYK5c62T8 bPNv/BQFa8IVzsBNBGQLfUoBCAC4OLfpwb7JTzA9nOrZmJHw7AljZYq9mK+GgZzp fwWwo2YyfjmAqkCa0r80Fv1Z7ypE3CVWkAvxb9OkRWKbnMpMw24o62MoGXnRszHw 8C65H5fagE1JpOoBXFZ5IM7ddsiWcOHEbFAgEDPgq8CpZORpa6Gqd850xvXZpIBN eM+Dz4BJK8LqICpO2IJHlW7T5F1IOA6MwJPCS8E3HyIt9QHFoyk+sDDGfAgWN2oe 8G6OE0m1qY8QI2bDd7Z/1m3fG1DKVacZAPuumjTdRIopiVQIZgKAOrzQQc+eiXtb mNLsbDam6TxE2m2HererWGRQw2y113jCwC2dQNJlauNWT7wBABEBAAHCwHYEGAEI ACAWIQQJEIJ6LgYeYWwGrD0KsNBnAS8IwwUCZAt9SgIbDAAKCRAKsNBnAS8Iw6gb CACQCVdwmXBqIxnqUJZ3ZYX837RFYqGmsXYn7K1QWZOSTz/TwxMWvm32DaCYAEtz XV+jAPE+ZygBUuOAT0SA4Wjsd/5gS8iqP01dhbPaKhlE+Y7hCp7Tud9uAd8OWhs7 EqEjCZyeJkFqcfq5sF5TKdpBWQ/qQrG//loAwDIOej4ayzmWDPP+wyKpBz7NV1ou P2DgZRsuSXobS5j4onVaUKRIWiflYLqTzkxysQ/Tt4ArfewjtbmDhkD4UevWXbJ1 h/YtwktCvD3EHai1w4xx+jtzS+Z1jiVW1AXNANeJP8MFC4VGu5/zdt5jUG0raFrx EjgnzKnuavTaZZVhOUYVUKv9 =IxoS -----END PGP PUBLIC KEY BLOCK-----
OpenPGP_signature
(application/pgp-signature, 495 B) - not displayed