These are the sources used to generate drafts of the C standard. These sources should not be considered an ISO publication, nor should documents generated from them unless officially adopted by the C working group (ISO/IEC JTC1/SC22/WG21).
Get involved:
- How to submit an editorial issue
- How to tell if an issue is editorial
- How to submit a new issue/defect report for non-editorial issues
More information about the C standard can be found at isocpp.org.
Install the MacTeX distribution.
If you are on a slow network, you'll want to get the BasicTeX package instead, then run the following command to install the other packages that the draft requires:
sudo tlmgr install latexmk isodate substr relsize ulem fixme rsfs extract layouts enumitem l3packages l3kernel imakeidx splitindex xstring
Install the following packages:
sudo apt-get install latexmk texlive-latex-recommended texlive-latex-extra texlive-fonts-recommended lmodern
Install the following packages:
dnf install latexmk texlive texlive-isodate texlive-relsize texlive-ulem texlive-fixme texlive-extract texlive-l3kernel texlive-l3packages texlive-splitindex texlive-imakeidx
Install the following packages:
pacman -S make texlive-latexextra texlive-binextra texlive-plaingeneric texlive-fontsrecommended
Install Perl (for example, using a Cygwin installation and adding perl. See sample instructions for more details)
Install MiKTeX
To typeset the draft document, from the source
directory run:
make
That's it! You should now have an std.pdf
containing the typeset draft.
To regenerate figures from .dot files, run:
make <pdfname>
For example:
make figvirt.pdf
A great deal of gratitude goes out to Pete Becker for his amazing work in the original conversion of the C standard drafts to LaTeX, and his subsequent maintenance of the standard drafts up to C 11. Thank you Pete.
Thanks to Walter Brown for suggesting the use of latexmk
.