doc/source/user/how-to-how-to.rst
.. _how-to-how-to:
############################################################################## How to write a NumPy how-to ##############################################################################
How-tos get straight to the point -- they
A stranger has asked for directions...
"I need to refuel my car."
Give a brief but explicit answer
Add helpful details for newcomers ("Hayseed Road", even though it's the only turnoff at three km/mi). But not irrelevant ones:
If there's related background (tutorial, explanation, reference, alternative approach), bring it to the user's attention with a link ("Directions from Route 7," "Why so few filling stations?").
Delegate
If the information is already documented and succinct enough for a how-to, just link to it, possibly after an introduction ("Three km/mi, take a right").
If the question is broad, narrow and redirect it
"I want to see the sights."
The See the sights how-to should link to a set of narrower how-tos:
and these might in turn link to still narrower how-tos -- so the town center page might link to
By organizing how-tos this way, you not only display the options for people who need to narrow their question, you also have provided answers for users who start with narrower questions ("I want to see historic buildings," "Which way to city hall?").
If there are many steps, break them up
If a how-to has many steps:
Why write how-tos when there's Stack Overflow, Reddit, Gitter...?
Aren't how-tos and tutorials the same thing?
People use the terms "how-to" and "tutorial" interchangeably, but we draw a
distinction, following Daniele Procida's taxonomy of documentation_.
.. _taxonomy of documentation: https://documentation.divio.com/
Documentation needs to meet users where they are. How-tos offer get-it-done information; the user wants steps to copy and doesn't necessarily want to understand NumPy. Tutorials are warm-fuzzy information; the user wants a feel for some aspect of NumPy (and again, may or may not care about deeper knowledge).
We distinguish both tutorials and how-tos from Explanations, which are deep dives intended to give understanding rather than immediate assistance, and References, which give complete, authoritative data on some concrete part of NumPy (like its API) but aren't obligated to paint a broader picture.
For more on tutorials, see :doc:numpy-tutorials:tutorial-style-guide
Is this page an example of a how-to?
Yes -- until the sections with question-mark headings; they explain rather than giving directions. In a how-to, those would be links.