LaTeX → Qiita 용 MathJax 변환 매크로 @ EmEditor

EmEditor의 매크로 기능을 사용하여 간단한 $\mathrm {\LaTeX} $ 문서를 Qiita 용으로 변환합니다.
이어서 식 번호도 자동으로 흔든다.

변환 대상
\section{定義}
\subsection{性質1}
\subsubsection{性質2}

\begin{align}
y=a,\label{eq:1}
\end{align}
ああああ
\begin{align}
y=b,
\end{align}
いいいい
\begin{align}
y=c,\label{eq:2}
\end{align}
ここで\ref{eq:1}\ref{eq:2}より…

\section{定義}
\begin{align}
f=a,
\end{align}

LaTeX2Qiita.jsee@EmEditor

# 定義
## 性質1
### 性質2


```math
\begin{align}
y=a,\tag{1}\label{eq:1}
\end{align}
```

ああああ

```math
\begin{align}
y=b,
\end{align}
```

いいいい

```math
\begin{align}
y=c,\tag{2}\label{eq:2}
\end{align}
```

ここで__($\ref{eq:1}$)__と__($\ref{eq:2}$)__より…

# 定義

```math
\begin{align}
f=a,
\end{align}
```

위를 그대로 Qiita 기사로 붙여 넣으면 다음과 같이 표시됩니다.

정의



성격 1



성격 2


\begin{align}
y=a,\tag{1}\label{eq:1}
\end{align}

아아아
\begin{align}
y=b,
\end{align}

좋은 좋은
\begin{align}
y=c,\tag{2}\label{eq:2}
\end{align}

여기서 ($\ref{eq:1}$)와 ($\ref{eq:2}$)보다…

정의


\begin{align}
f=a,
\end{align}

덧붙여서 $\mathrm{\LaTeX}$에서는 아래 그림과 같이 출력된다:





출처
\documentclass{jsarticle}
\usepackage{amsmath}
\begin{document}

\section{定義}
\subsection{性質1}
\subsubsection{性質2}

\begin{align}
y=a,\label{eq:1}
\end{align}
ああああ
\begin{align}
y=b,
\end{align}
いいいい
\begin{align}
y=c,\label{eq:2}
\end{align}
ここで\ref{eq:1}\ref{eq:2}より…

\section{定義}
\begin{align}
f=a,
\end{align}

\end{document}

매크로 본체



수식은 언제나 \align 환경에서 쓰고 있으므로 그것에만 대응.
텍스트 형식으로 저장하고 매크로 메뉴에서 추가하기 만하면됩니다.

LaTeX2Qiita.jsee
document.selection.Replace( "\%.*", '', eeFindReplaceRegExp|eeReplaceAll );
document.selection.Replace( "\\begin{align}", "\n```math\n\\begin{align}", eeReplaceAll );
document.selection.Replace( "\\end{align}", "\\end{align}\n```\n",eeReplaceAll );
document.selection.Replace( '\\\\Ref\{(.*?)\}', '__\(\$\\\\ref\{$1\}\$\)__', eeFindReplaceRegExp|eeReplaceAll);
document.selection.Replace( "\\label", "\\tag{}\\label", eeReplaceAll );
document.selection.Replace( "(<|>)", '\ $1\ ', eeFindReplaceRegExp|eeReplaceAll );
document.selection.Replace( "\\\\section\{(.*?)\}", '# $1', eeFindReplaceRegExp|eeReplaceAll );
document.selection.Replace( "\\\\subsection\{(.*?)\}", '## $1', eeFindReplaceRegExp|eeReplaceAll );
document.selection.Replace( "\\\\subsubsection\{(.*?)\}", '### $1', eeFindReplaceRegExp|eeReplaceAll );
document.selection.StartOfDocument();
for (var i=1; document.selection.Replace( "\\tag{}", "\\tag{"+i+"}", eeFindNext )>0;++i){}

문제해결



잘 동작하고 있는데도 표시가 이상할 때는 F5 갱신하거나 아래첨자의 언더바를 이스케이프 해 보거나 한다.

좋은 웹페이지 즐겨찾기