add tag
निरंजन
Consider the following example:

```
% \iffalse
%<*driver>
\documentclass{l3doc}

\begin{document}
\DocInput{duck.dtx}
\end{document}
%</driver>
% \fi
% \begin{documentation}
%   \begin{function}{\quack}
%     Prints out \enquote{quack}.
%   \end{function}
%   \begin{function}{\meow}
%     Prints out \enquote{meow}.
%   \end{function}
%   \begin{function}{\woof}
%     Prints out \enquote{woof}.
%   \end{function}
% \end{documentation}
% \begin{implementation}
% \begin{macro}{\quack}
%   This is the code for \cs{quack}.
%    \begin{macrocode}
\def\quack{quack}
%    \end{macrocode}
% \end{macro}
% \begin{macro}{\meow}
%   This is the code for \cs{meow}.
%    \begin{macrocode}
\def\meow{meow}
%    \end{macrocode}
% \end{macro}
% \begin{macro}{\woof}
%   This is the code for \cs{woof}.
%    \begin{macrocode}
\def\woof{woof}
%    \end{macrocode}
% \end{macro}
% \end{implementation}
% \Finale
```

It creates an output like the following:

![image.png](/image?hash=736f29951c5b72c95d1f7ae0c5fb16fde4069e00e81c0378cbc553154931437b)

This looks great, but suppose, I want to have a `table` of these three commands, or say I want to add these commands in a `tikzpicture`, currently I couldn't find a way to connect the `macro`s to the `function`s. In the `documentation` section (as opposed to `implementation`), I would have loved to have a command like `\textfunction{\quack}` that prints `\quack` in mono font, in situ (exactly where it is written in the plain style instead of the fancy `\marginpar`-like thing). I know about the `\cs` macro for this, it is good, but the problem with it is now the `macro` is not hyperlinked to the function. Macros are printed without hyperlinks. I want all the benefits of `macro`-`function` pair, but the visual output of `function` command a little different. Can something like this be done? I tried creating something that looking at the code of `l3doc.cls`, but there were too many initialisations in the code which I didn't know if were safe to delete. Can there be a reliable (stability-wise, asking this as `l3doc` is experimental) way to achieve this?

Enter question or answer id or url (and optionally further answer ids/urls from the same question) from

Separate each id/url with a space. No need to list your own answers; they will be imported automatically.