Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 2434fb9

Browse files
committed
Cleanup doc/conf.py.
Emit the latex symbol tables without breaks.
1 parent 9549761 commit 2434fb9

File tree

4 files changed

+181
-176
lines changed

4 files changed

+181
-176
lines changed

doc/conf.py

Lines changed: 19 additions & 158 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,6 @@
1717
import sphinx
1818
import six
1919
from glob import glob
20-
from sphinx_gallery.sorting import ExplicitOrder
2120

2221
# If your extensions are in another directory, add it here. If the directory
2322
# is relative to the documentation root, use os.path.abspath to make it
@@ -29,14 +28,24 @@
2928

3029
# Add any Sphinx extension module names here, as strings. They can be extensions
3130
# coming with Sphinx (named 'sphinx.ext.*') or your custom ones.
32-
extensions = ['matplotlib.sphinxext.mathmpl', 'sphinxext.math_symbol_table',
33-
'sphinx.ext.autodoc', 'matplotlib.sphinxext.only_directives',
34-
'sphinx.ext.doctest', 'sphinx.ext.autosummary',
35-
'sphinx.ext.inheritance_diagram', 'sphinx.ext.intersphinx',
36-
'sphinx_gallery.gen_gallery',
37-
'matplotlib.sphinxext.plot_directive',
38-
'sphinxext.github',
39-
'numpydoc']
31+
extensions = [
32+
'sphinx.ext.autodoc',
33+
'sphinx.ext.autosummary',
34+
'sphinx.ext.doctest',
35+
'sphinx.ext.inheritance_diagram',
36+
'sphinx.ext.intersphinx',
37+
'IPython.sphinxext.ipython_console_highlighting',
38+
'IPython.sphinxext.ipython_directive',
39+
'numpydoc', # Needs to be loaded *after* autodoc.
40+
'sphinx_gallery.gen_gallery',
41+
'matplotlib.sphinxext.mathmpl',
42+
'matplotlib.sphinxext.only_directives',
43+
'matplotlib.sphinxext.plot_directive',
44+
'sphinxext.github',
45+
'sphinxext.math_symbol_table',
46+
'sphinxext.mock_gui_toolkits',
47+
'sphinxext.skip_deprecated',
48+
]
4049

4150
exclude_patterns = ['api/api_changes/*', 'users/whats_new/*']
4251

@@ -61,18 +70,9 @@ def _check_deps():
6170
"The following dependencies are missing to build the "
6271
"documentation: {}".format(", ".join(missing)))
6372

64-
6573
_check_deps()
6674

67-
try:
68-
from unittest.mock import MagicMock
69-
except ImportError:
70-
from mock import MagicMock
71-
72-
73-
# Use IPython's console highlighting by default
74-
extensions.extend(['IPython.sphinxext.ipython_console_highlighting',
75-
'IPython.sphinxext.ipython_directive'])
75+
from sphinx_gallery.sorting import ExplicitOrder
7676

7777
if six.PY2:
7878
from distutils.spawn import find_executable
@@ -85,7 +85,6 @@ def _check_deps():
8585
"No binary named dot - you need to install the Graph Visualization "
8686
"software (usually packaged as 'graphviz') to build the documentation")
8787

88-
8988
autosummary_generate = True
9089

9190
autodoc_docstring_signature = True
@@ -334,144 +333,6 @@ def _check_deps():
334333
1),
335334
]
336335

337-
338-
class MyWX(MagicMock):
339-
class Panel(object):
340-
pass
341-
342-
class ToolBar(object):
343-
pass
344-
345-
class Frame(object):
346-
pass
347-
348-
VERSION_STRING = '2.9'
349-
350-
351-
class MyPyQt4(MagicMock):
352-
class QtGui(object):
353-
# PyQt4.QtGui public classes.
354-
# Generated with
355-
# textwrap.fill([name for name in dir(PyQt4.QtGui)
356-
# if isinstance(getattr(PyQt4.QtGui, name), type)])
357-
_QtGui_public_classes = """\
358-
Display QAbstractButton QAbstractGraphicsShapeItem
359-
QAbstractItemDelegate QAbstractItemView QAbstractPrintDialog
360-
QAbstractProxyModel QAbstractScrollArea QAbstractSlider
361-
QAbstractSpinBox QAbstractTextDocumentLayout QAction QActionEvent
362-
QActionGroup QApplication QBitmap QBoxLayout QBrush QButtonGroup
363-
QCalendarWidget QCheckBox QClipboard QCloseEvent QColor QColorDialog
364-
QColumnView QComboBox QCommandLinkButton QCommonStyle QCompleter
365-
QConicalGradient QContextMenuEvent QCursor QDataWidgetMapper QDateEdit
366-
QDateTimeEdit QDesktopServices QDesktopWidget QDial QDialog
367-
QDialogButtonBox QDirModel QDockWidget QDoubleSpinBox QDoubleValidator
368-
QDrag QDragEnterEvent QDragLeaveEvent QDragMoveEvent QDropEvent
369-
QErrorMessage QFileDialog QFileIconProvider QFileOpenEvent
370-
QFileSystemModel QFocusEvent QFocusFrame QFont QFontComboBox
371-
QFontDatabase QFontDialog QFontInfo QFontMetrics QFontMetricsF
372-
QFormLayout QFrame QGesture QGestureEvent QGestureRecognizer QGlyphRun
373-
QGradient QGraphicsAnchor QGraphicsAnchorLayout QGraphicsBlurEffect
374-
QGraphicsColorizeEffect QGraphicsDropShadowEffect QGraphicsEffect
375-
QGraphicsEllipseItem QGraphicsGridLayout QGraphicsItem
376-
QGraphicsItemAnimation QGraphicsItemGroup QGraphicsLayout
377-
QGraphicsLayoutItem QGraphicsLineItem QGraphicsLinearLayout
378-
QGraphicsObject QGraphicsOpacityEffect QGraphicsPathItem
379-
QGraphicsPixmapItem QGraphicsPolygonItem QGraphicsProxyWidget
380-
QGraphicsRectItem QGraphicsRotation QGraphicsScale QGraphicsScene
381-
QGraphicsSceneContextMenuEvent QGraphicsSceneDragDropEvent
382-
QGraphicsSceneEvent QGraphicsSceneHelpEvent QGraphicsSceneHoverEvent
383-
QGraphicsSceneMouseEvent QGraphicsSceneMoveEvent
384-
QGraphicsSceneResizeEvent QGraphicsSceneWheelEvent
385-
QGraphicsSimpleTextItem QGraphicsTextItem QGraphicsTransform
386-
QGraphicsView QGraphicsWidget QGridLayout QGroupBox QHBoxLayout
387-
QHeaderView QHelpEvent QHideEvent QHoverEvent QIcon QIconDragEvent
388-
QIconEngine QIconEngineV2 QIdentityProxyModel QImage QImageIOHandler
389-
QImageReader QImageWriter QInputContext QInputContextFactory
390-
QInputDialog QInputEvent QInputMethodEvent QIntValidator QItemDelegate
391-
QItemEditorCreatorBase QItemEditorFactory QItemSelection
392-
QItemSelectionModel QItemSelectionRange QKeyEvent QKeyEventTransition
393-
QKeySequence QLCDNumber QLabel QLayout QLayoutItem QLineEdit
394-
QLinearGradient QListView QListWidget QListWidgetItem QMainWindow
395-
QMatrix QMatrix2x2 QMatrix2x3 QMatrix2x4 QMatrix3x2 QMatrix3x3
396-
QMatrix3x4 QMatrix4x2 QMatrix4x3 QMatrix4x4 QMdiArea QMdiSubWindow
397-
QMenu QMenuBar QMessageBox QMimeSource QMouseEvent
398-
QMouseEventTransition QMoveEvent QMovie QPageSetupDialog QPaintDevice
399-
QPaintEngine QPaintEngineState QPaintEvent QPainter QPainterPath
400-
QPainterPathStroker QPalette QPanGesture QPen QPicture QPictureIO
401-
QPinchGesture QPixmap QPixmapCache QPlainTextDocumentLayout
402-
QPlainTextEdit QPolygon QPolygonF QPrintDialog QPrintEngine
403-
QPrintPreviewDialog QPrintPreviewWidget QPrinter QPrinterInfo
404-
QProgressBar QProgressDialog QProxyModel QPushButton QPyTextObject
405-
QQuaternion QRadialGradient QRadioButton QRawFont QRegExpValidator
406-
QRegion QResizeEvent QRubberBand QScrollArea QScrollBar
407-
QSessionManager QShortcut QShortcutEvent QShowEvent QSizeGrip
408-
QSizePolicy QSlider QSortFilterProxyModel QSound QSpacerItem QSpinBox
409-
QSplashScreen QSplitter QSplitterHandle QStackedLayout QStackedWidget
410-
QStandardItem QStandardItemModel QStaticText QStatusBar
411-
QStatusTipEvent QStringListModel QStyle QStyleFactory QStyleHintReturn
412-
QStyleHintReturnMask QStyleHintReturnVariant QStyleOption
413-
QStyleOptionButton QStyleOptionComboBox QStyleOptionComplex
414-
QStyleOptionDockWidget QStyleOptionDockWidgetV2 QStyleOptionFocusRect
415-
QStyleOptionFrame QStyleOptionFrameV2 QStyleOptionFrameV3
416-
QStyleOptionGraphicsItem QStyleOptionGroupBox QStyleOptionHeader
417-
QStyleOptionMenuItem QStyleOptionProgressBar QStyleOptionProgressBarV2
418-
QStyleOptionRubberBand QStyleOptionSizeGrip QStyleOptionSlider
419-
QStyleOptionSpinBox QStyleOptionTab QStyleOptionTabBarBase
420-
QStyleOptionTabBarBaseV2 QStyleOptionTabV2 QStyleOptionTabV3
421-
QStyleOptionTabWidgetFrame QStyleOptionTabWidgetFrameV2
422-
QStyleOptionTitleBar QStyleOptionToolBar QStyleOptionToolBox
423-
QStyleOptionToolBoxV2 QStyleOptionToolButton QStyleOptionViewItem
424-
QStyleOptionViewItemV2 QStyleOptionViewItemV3 QStyleOptionViewItemV4
425-
QStylePainter QStyledItemDelegate QSwipeGesture QSyntaxHighlighter
426-
QSystemTrayIcon QTabBar QTabWidget QTableView QTableWidget
427-
QTableWidgetItem QTableWidgetSelectionRange QTabletEvent
428-
QTapAndHoldGesture QTapGesture QTextBlock QTextBlockFormat
429-
QTextBlockGroup QTextBlockUserData QTextBrowser QTextCharFormat
430-
QTextCursor QTextDocument QTextDocumentFragment QTextDocumentWriter
431-
QTextEdit QTextFormat QTextFragment QTextFrame QTextFrameFormat
432-
QTextImageFormat QTextInlineObject QTextItem QTextLayout QTextLength
433-
QTextLine QTextList QTextListFormat QTextObject QTextObjectInterface
434-
QTextOption QTextTable QTextTableCell QTextTableCellFormat
435-
QTextTableFormat QTimeEdit QToolBar QToolBox QToolButton QToolTip
436-
QTouchEvent QTransform QTreeView QTreeWidget QTreeWidgetItem
437-
QTreeWidgetItemIterator QUndoCommand QUndoGroup QUndoStack QUndoView
438-
QVBoxLayout QValidator QVector2D QVector3D QVector4D QWhatsThis
439-
QWhatsThisClickedEvent QWheelEvent QWidget QWidgetAction QWidgetItem
440-
QWindowStateChangeEvent QWizard QWizardPage QWorkspace
441-
QX11EmbedContainer QX11EmbedWidget QX11Info
442-
"""
443-
for _name in _QtGui_public_classes.split():
444-
locals()[_name] = type(_name, (), {})
445-
del _name
446-
447-
448-
class MySip(MagicMock):
449-
def getapi(*args):
450-
return 1
451-
452-
453-
mockwxversion = MagicMock()
454-
mockwx = MyWX()
455-
mocksip = MySip()
456-
mockpyqt4 = MyPyQt4()
457-
sys.modules['wxversion'] = mockwxversion
458-
sys.modules['wx'] = mockwx
459-
sys.modules['sip'] = mocksip
460-
sys.modules['PyQt4'] = mockpyqt4
461-
462336
# numpydoc config
463337

464338
numpydoc_show_class_members = False
465-
466-
# Skip deprecated members
467-
468-
def skip_deprecated(app, what, name, obj, skip, options):
469-
if skip:
470-
return skip
471-
skipped = {"matplotlib.colors": ["ColorConverter", "hex2color", "rgb2hex"]}
472-
skip_list = skipped.get(getattr(obj, "__module__", None))
473-
if skip_list is not None:
474-
return getattr(obj, "__name__", None) in skip_list
475-
476-
def setup(app):
477-
app.connect('autodoc-skip-member', skip_deprecated)

doc/sphinxext/math_symbol_table.py

Lines changed: 16 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,34 +1,34 @@
11
from __future__ import print_function
22
symbols = [
33
["Lower-case Greek",
4-
5,
4+
6,
55
r"""\alpha \beta \gamma \chi \delta \epsilon \eta \iota \kappa
66
\lambda \mu \nu \omega \phi \pi \psi \rho \sigma \tau \theta
77
\upsilon \xi \zeta \digamma \varepsilon \varkappa \varphi
88
\varpi \varrho \varsigma \vartheta"""],
99
["Upper-case Greek",
10-
6,
10+
8,
1111
r"""\Delta \Gamma \Lambda \Omega \Phi \Pi \Psi \Sigma \Theta
1212
\Upsilon \Xi \mho \nabla"""],
1313
["Hebrew",
14-
4,
14+
6,
1515
r"""\aleph \beth \daleth \gimel"""],
1616
["Delimiters",
1717
6,
1818
r"""| \{ \lfloor / \Uparrow \llcorner \vert \} \rfloor \backslash
1919
\uparrow \lrcorner \| \langle \lceil [ \Downarrow \ulcorner
2020
\Vert \rangle \rceil ] \downarrow \urcorner"""],
2121
["Big symbols",
22-
5,
22+
6,
2323
r"""\bigcap \bigcup \bigodot \bigoplus \bigotimes \biguplus
2424
\bigvee \bigwedge \coprod \oint \prod \sum \int"""],
2525
["Standard function names",
26-
4,
26+
6,
2727
r"""\arccos \csc \ker \min \arcsin \deg \lg \Pr \arctan \det \lim
2828
\gcd \ln \sup \cot \hom \log \tan \coth \inf \max \tanh
2929
\sec \arg \dim \liminf \sin \cos \exp \limsup \sinh \cosh"""],
3030
["Binary operation and relation symbols",
31-
3,
31+
4,
3232
r"""\ast \pm \slash \cap \star \mp \cup \cdot \uplus
3333
\triangleleft \circ \odot \sqcap \triangleright \bullet \ominus
3434
\sqcup \bigcirc \oplus \wedge \diamond \oslash \vee
@@ -60,7 +60,7 @@
6060
\Doteq \nsubset \eqcolon \ne
6161
"""],
6262
["Arrow symbols",
63-
2,
63+
4,
6464
r"""\leftarrow \longleftarrow \uparrow \Leftarrow \Longleftarrow
6565
\Uparrow \rightarrow \longrightarrow \downarrow \Rightarrow
6666
\Longrightarrow \Downarrow \leftrightarrow \updownarrow
@@ -83,7 +83,7 @@
8383
\leftsquigarrow
8484
"""],
8585
["Miscellaneous symbols",
86-
3,
86+
4,
8787
r"""\neg \infty \forall \wp \exists \bigstar \angle \partial
8888
\nexists \measuredangle \eth \emptyset \sphericalangle \clubsuit
8989
\varnothing \complement \diamondsuit \imath \Finv \triangledown
@@ -111,16 +111,14 @@ def get_n(n, l):
111111
lines.append('')
112112
max_width = max(map(len, syms)) * 2 + 16
113113
header = " " + (('=' * max_width) + ' ') * columns
114-
format = '%%%ds' % max_width
115-
for chunk in get_n(20, get_n(columns, syms)):
116-
lines.append(header)
117-
for part in chunk:
118-
line = []
119-
for sym in part:
120-
line.append(format % (":math:`%s` ``%s``" % (sym, sym)))
121-
lines.append(" " + " ".join(line))
122-
lines.append(header)
123-
lines.append('')
114+
lines.append(header)
115+
for part in get_n(columns, syms):
116+
line = " " + " ".join(
117+
":math:`{0}` ``{0}``".format(sym).rjust(max_width)
118+
for sym in part)
119+
lines.append(line)
120+
lines.append(header)
121+
lines.append('')
124122

125123
state_machine.insert_input(lines, "Symbol table")
126124
return []

0 commit comments

Comments
 (0)