# draft **Repository Path**: x-han/draft ## Basic Information - **Project Name**: draft - **Description**: C++ standards drafts - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2020-03-21 - **Last Updated**: 2020-12-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ========================== C++ Standard Draft Sources ========================== 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 `_. --------------------------- Getting Started on Mac OS X --------------------------- 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 --------------------------------------- Getting Started on Debian-based Systems --------------------------------------- Install the following packages: sudo apt-get install latexmk texlive-latex-recommended texlive-latex-extra texlive-fonts-recommended ------------------------- Getting Started on Fedora ------------------------- Install the following packages: dnf install latexmk texlive texlive-isodate texlive-relsize texlive-ulem texlive-fixme texlive-extract texlive-l3kernel texlive-l3packages ----------------------------- Getting Started on Arch Linux ----------------------------- Install the following packages: latex-mk from the Arch User Repository. pacman -S texlive-latexextra ------------ Instructions ------------ To typeset the draft document, from the ``source`` directory: #. run ``latexmk -pdf std`` That's it! You should now have an ``std.pdf`` containing the typeset draft. Alternative instructions ======================== If you can't use latexmk for some reason, you can use the Makefiles instead: #. run ``make rebuild`` #. run ``make reindex`` If you can't use latexmk or make for some reason, you can run LaTeX manually instead: #. run ``pdflatex std`` until there are no more changed labels or changed tables #. run ``makeindex generalindex`` #. run ``makeindex libraryindex`` #. run ``makeindex grammarindex`` #. run ``makeindex impldefindex`` #. run ``pdflatex std`` once more. #. run ``makeindex -s basic.gst -o xrefindex.gls xrefindex.glo`` #. run ``makeindex -s basic.gst -o xrefdelta.gls xrefdelta.glo`` #. run ``pdflatex std`` twice more. Generated input files ===================== To regenerate figures from .dot files, run:: dot -o -Tpdf For example:: dot -ofigstreampos.pdf -Tpdf figstreampos.dot ---------------- Acknowledgements ---------------- 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``.