확장기능:Math
Math 출시 상태: 안정 |
|
---|---|
구현 | 태그 |
설명 | 수학 공식을 표현하는 것을 허용함 |
만든 이 |
|
최신 버전 | continuous updates |
호환성 정책 | 스냅샷은 미디어위키와 함께 릴리스됩니다. Master is not backward compatible. |
MediaWiki | >= 1.43 |
데이터베이스 변경 | 예 |
테이블 | math mathoid mathlatexml |
라이선스 | GNU General Public License 2.0 or later |
다운로드 | |
|
|
<math> |
|
Quarterly downloads | 126 (Ranked 43rd) |
Public wikis using | 7,934 (Ranked 18th) |
Math 확장 기능 번역 (translatewiki.net에서 가능한 경우) | |
이슈 | 미해결 작업 · 버그 보고 |
"Math" 확장 기능은 수학적 공식의 렌더링을 제공합니다. 이 확장 기능으로 무엇을 할 수 있는지에 대해서는 다음을 참조 영문 위키백과 'Displaying_a_fomula'.
More information about installing and configuring this extension, including for older versions, can be found at Extension:Math/advancedSettings .
See an overview of what can currently be done with this extension at Extension:Math/Syntax.
설치
- 파일을 다운로드하고
Math
폴더를extensions/
디렉토리에 넣어 주세요.
개발자와 코딩 기여자는 Git을 이용해 확장기능을 다운받는 것이 좋습니다.cd extensions/
git clone https://gerrit.wikimedia.org/r/mediawiki/extensions/Math - 아래의 코드를 LocalSettings.php 코드의 마지막에 추가합니다.
wfLoadExtension( 'Math' );
- 갱신 스크립트를 실행합니다. 이 스크립트는 이 확장기능을 필요로 하는 데이터 베이스 테이블을 자동적으로 작성합니다.
- To see math beyond a plain text output, follow instructions below for enabling various math output modes.
- If you have problems for represent formulas when trying to use RESTBase, you can try using the following patch
- 완료 – 위키의 ‘Special:Version’에 이동해서, 확장기능이 올바르게 설치된 것을 확인합니다.
Vagrant 설치:
- Vagrant 를 사용하고 있는 경우에는,
vagrant roles enable math --provision
로 설치해주세요
You should additionally go to the page Special:MathStatus to see whether all of the components of the Math extension now work. For any problems you see, the best option is to create a task on https://phabricator.wikimedia.org
Unfortunately, there is no well tested guide on installing Mathoid and RESTBase to work with the Math extension, but there is at least a working draft. Extension:Math/RESTBase please contribute.
In addition, there is a Guide for Installing and Setting up MediaWiki with RESTBase and Mathoid in MW1.28.
Usage
Once installed, you write formulas using TeX markup syntax inside the <math>
tag. For example:
<math>E=mc^2</math>
Renders as:
Viewing math
The type of output depends on the software that you use to read the page. If it can, the Math extension outputs MathML. Otherwise, it outputs images in SVG (converting characters to <path> elements) or PNG. Basic math support works for all browsers. But, for best results, you might need to change your settings:
- For Firefox or other Gecko browsers, install the Native MathML extension and math fonts.
The NVDA, VoiceOver, and Orca screen readers provide accessibility support. To read mathematics, NVDA needs the MathPlayer plugin. - For Safari or other WebKit browsers, you can also install math fonts and enable native MathML rendering by inserting some CSS rules into the custom style sheet of your browser.
The VoiceOver screen reader provides accessibility support. The Orca screen reader does not do so yet. - For Chrome, you must insert some CSS rules into the custom style sheet of your browser to get accessibility support with the ChromeVox screen reader or visual rendering with the MathJax plugin.
Configuration settings
설정 이름 | 기본값 | 설명 |
---|---|---|
$wgMathValidModes | [ 'source', 'mathml' ]
|
Defines the mode allowed on the server. |
$wgMathDisableTexFilter | 'never'
|
Option to disable the tex filter. If set to true any LaTeX expression is parsed this can be a potential security risk. If set to false only a subset of the TeX commands is allowed. See the wikipedia page Help:Math for details. Use "always" to disable this feature. |
$wgMathFullRestbaseURL | false | The math extension gets the default config from the Visual Editor, if available. Details. |
$wgMathPreferRestbaseURL | true | Whether to allow using of internal RESTBase path instead of $wgMathFullRestbaseURL and $wgVisualEditorFullRestbaseURL. Set false if you want to use external RESTBase in any case. |
Math 출력 모드
The setting $wgMathValidModes holds an array with the names of output modes that can be used for rendering. If multiple modes are enabled, logged-in users can set a personal preference in the appearance pane of their user preferences page.
You can also use the $wgDefaultUserOptions setting to set which of these modes should be the default, e.g.:
$wgDefaultUserOptions['math'] = 'mathml';
Mathoid
Mode: 'mathml'
You can use Mathoid, an application that uses MathJax on the server side to convert texvc input to MathML+SVG rendering. Mathoid is currently the Math rendering mode used on Wikipedia.
Mathoid as a service
"Mathoid as a service" is the recommended approach for the Math extension, and the default one. If you do not add any additional settings to LocalSettings.php, Math will use the Beta cluster's Mathoid and RESTBase services to do all math formula rendering. The default settings are:
// Set MathML as default rendering option
$wgDefaultUserOptions['math'] = 'mathml';
$wgMathUseInternalRestbasePath = false;
$wgMathFullRestbaseURL = 'https://wikimedia.org/api/rest_';
$wgMathMathMLUrl = 'https://mathoid-beta.wmflabs.org';
You can modify these settings to use different Mathoid and RESTBase services, potentially including your own.
Mathoid's CLI interface
You can instead run Mathoid as a command-line utility on the local server. To use this approach, the following settings are recommended:
// Set MathML as default rendering option
$wgDefaultUserOptions['math'] = 'mathml';
// Please create a config.yaml in advance. Templates are in the Mathoid repository.
$wgMathoidCli = ['/path/to/mathoid/cli.js', '-c', '/path/to/mathoid/config.yaml'];
// Raise MediaWiki's memory limit to 1.2G for mathoid.
$wgMaxShellMemory = 1228800;
If you run MediaWiki in a system containing SELinux and you get the message Mathoid cli '/path/to/mathoid/cli.js' is not executable
in the error log, you can run the following to make sure that the Apache server allows to change system limits:
setsebool -P httpd_execmem 1 setsebool -P httpd_setrlimit 1
LaTeX
미디어위키 버전: | ≤ 1.39 |
Mode: 'png'
Since MediaWiki 1.32, this mode will also require a Mathoid server to work. In older versions, it requires installing texvc and texvccheck, which may require the most setup work.
LaTeXML
Mode: 'latexml'
Uses the LaTeXML utility. The rendering is done via an online service (set with $wgLaTeXMLUrl, which has a default value of https://latexml.formulasearchengine.com/convert).
Native MathML
미디어위키 버전: | ≥ 1.40 |
Mode: 'native'
This mode will generate MathML from LaTeX via PHP without Mathoid. Note this mode does not have image fallback, so formulas will only be displayed correctly if the browser supports MathML. Firefox and Safari introduced MathML support early (2006 and 2008), but support in Chromium-based browsers is a much more recent addition (Chrome 109, released in 2023).
MathJax
미디어위키 버전: | ≥ 1.42 |
Mode: 'mathjax'
This mode works the same as Native MathML mode (generating MathML from LaTeX via PHP), but it will use MathJax 3 to render MathML. Therefore it will work for browsers that do not have MathML support, with the overhead of loading MathJax library (bundled in Math extension) on page views.
No rendering
Mode: 'source'
This mode will forward the Latex input without rendering, presenting it in a <span>
element, surrounded by $ :formula $.
Make sure to set $wgMathDisableTexFilter to 'always' (see below) if you only want the raw latex formula, else an error will appear due to the failed check for PNG depictions.
Tracking categories
The extension creates a number of tracking categories to detect errors and deprecated features.
Their message keys begin with math-
.
Administrators may change a tracking category's name in a wiki by editing the message's value in that wiki's MediaWiki namespace.
Special:TrackingCategories shows each tracking category's name, message key, and description.
MediaWiki page | Default | Description |
---|---|---|
MediaWiki:Math-tracking-category-error | Category:Pages with math errors | Pages where there is a syntax error in the formula causing the rendering to fail |
MediaWiki:Math-tracking-category-render-error | Category:Pages with math render errors | Pages where there has been a temporary error in the rendering pipeline causing the rendering to fail. These normally fix themselves |
MediaWiki:Math-tracking-category-texvc-deprecation | Category:Pages that use a deprecated format of the math tags | Pages which use deprecated texvc syntax like $ % \and \or \part \ang \C \H \bold \Bbb\ \pagecolor , which should be replaced by more standard LaTeX \$ \% \land \lor \partial \angle \Complex \mathbb{H} \mathbf \mathbb (removed) respectively. See Extension:Math/Roadmap .
|
MediaWiki:Math-tracking-category-mhchem-deprecation | Category:Pages that use a deprecated format of the chem tags |
Deprecated chemical markup, see Extension:Math/Roadmap#Step 1 Part C: Manual fixing of mhchem syntax. |
Tips and tricks
- You can use the Firefox MathML copy addon to copy formulae to other applications such as Microsoft Word (video), or Google docs with the g(Math) plugin (video)
- You can override the user preferred and default rendermode by adding the
forcemathmode
attribute to the<math>
element. e.g. to force an image being rendered<math forcemathmode="png">...</math>
. - All images of rendered formula are stored in a cache and not automatically recreated if the page is viewed or edited. To force the re-rendering of all formulas of a page, purge using the
?action=purge&mathpurge=true
action. For example the URL https://en.wikipedia.org/w/index.php?title=Integral&action=purge&mathpurge=true will force re-rendering of the w:Integral article. Afterwards you need to bypass your browser cache so that the new created images of the formulas are actually downloaded.
Error reporting
If something is wrong with the math extension you can report that at Phabricator. In addition you should check how your problem relates to the automated unit tests that are generated from the page CoverageTest.
Further reading
See Extension:Math/advancedSettings for old versions and further information.
하위 문서
- Math/Announcement
- Math/CoverageTest
- Math/CustomizationHook
- Math/Displaystyle
- Math/Hooks/MathAfterTexvc
- Math/Hooks/MathFormulaPostRender
- Math/Hooks/MathFormulaRendered
- Math/Hooks/MathRenderingResultRetrieved
- Math/Inputtypes
- Math/MathJaxMenu
- Math/MathJax testing
- Math/Native MathML/Reported Cases
- Math/Native MathML rollout (2024)
- Math/Popups
- Math/RESTBase
- Math/Roadmap
- Math/Syntax
- Math/T140217
- Math/T167569
- Math/T1835557
- Math/T183559
- Math/T218295
- Math/T247697
- Math/T305613
- Math/T317065
- Math/T32215
- Math/T325625
- Math/T334842
- Math/T350004
- Math/T350737
- Math/T363081
- Math/T366983
- Math/T375241
- Math/T375244
- Math/T375317
- Math/T86450
- Math/T87007
- Math/TeX-header
- Math/Torture Test
- Math/Unique Ids
- Math/Url2Image
- Math/Wikibooks-20160516
- Math/additionalAnnotationTypes
- Math/advancedSettings
- Math/annotation.js
- Math/bug/35189
- Math/bug/38641
- Math/bug/48032
- Math/bug/49210
- Math/bug/54818
- Math/bug/69554
- Math/bug/75285
- Math/chemrm
- Math/math table
- Math/mathlatexml table
- Math/mathoid table
- Math/modifyMenu.js
- Math/newFeatures
같이 보기
- Extension:Math/Roadmap
- Mathoid
- 확장기능:SimpleMathJax - an alternative way to provide support for rendering mathematical formulas on-wiki, without texvc or LaTeX
- Texvc PHP 대체
- Manual:Enable TeX/problems
- Manual:Math
이 확장 기능은 하나 이상의 위키미디어 프로젝트에서 사용 중입니다. 이것은 아마도 이 확장 기능이 안정적이고 트래픽이 많은 웹 사이트에서 사용할 수 있을 만큼 충분히 잘 작동한다는 것을 의미합니다. 설치된 위치를 확인하려면 위키미디어의 CommonSettings.php 및 InitialiseSettings.php 구성 파일에서 이 확장 기능의 이름을 찾습니다. 특정 위키에 설치된 확장 기능의 전체 목록은 위키의 Special:Version 문서에서 볼 수 있습니다. |
This extension is included in the following wiki farms/hosts and/or packages: This is not an authoritative list. Some wiki farms/hosts and/or packages may contain this extension even if they are not listed here. Always check with your wiki farms/hosts or bundle to confirm. |