Skip to content

Commit

Permalink
Merge pull request #22 from Cactus-proj/pdf
Browse files Browse the repository at this point in the history
tex: fix py mistune
inkydragon authored May 19, 2024
2 parents e145020 + 5bd0a6c commit 7c6d8fa
Showing 1 changed file with 24 additions and 17 deletions.
41 changes: 24 additions & 17 deletions latex/convert2latex.py
Original file line number Diff line number Diff line change
@@ -30,17 +30,17 @@ def __init__(self, is_book_or_report=True):
self._ltx_esc_dict = {
'~': r'\textasciitilde{}',

'#': '\#',
'$': '\$',
'%': '\%',
'^': '\^{}',
'&': '\&',
'#': r'\#',
'$': r'\$',
'%': r'\%',
'^': r'\^{}',
'&': r'\&',

'-': '{-}',
'_': '\_',
'_': r'\_',

'{': '\{',
'}': '\}',
'{': r'\{',
'}': r'\}',
'[': '{[}',
']': '{]}',

@@ -78,12 +78,16 @@ def english_list(self, text, ordered, level, start=None):
def text(self, text):
return self.escape_latex(text)

def link(self, link, text=None, title=None):
def link(self, text=None, url=None, title=None):
"""link(self, text: str, url: str, title: Optional[str] = None) -> str:"""
# 不支持 title
return ' \\href{'+link+'}' + '{'+(text or link)+'} '
return ' \\href{'+url+'}' + '{'+(text or url)+'} '

def image(self, src, alt="", title=None):
_, fname = os.path.split(src)
def image(self, text, url="", title=None):
"""
image(self, text: str, url: str, title: Optional[str] = None) -> str:
"""
_, fname = os.path.split(url)
fname = fname[0:5]

ltx_fig = """
@@ -172,20 +176,23 @@ def block_quote(self, text):
return text

# 列表
def list(self, text, ordered, level, start=None):
def list(self, text, ordered, **attrs):
"""list(self, text: str, ordered: bool, **attrs: Any) -> str:"""
if ordered:
return '\\begin{enumerate}\n' + text + '\\end{enumerate}\n'
else:
return '\\begin{itemize}\n' + text + '\\end{itemize}\n'

def list_item(self, text, level):
return '\item ' + text + '\n'
def list_item(self, text):
"""list_item(self, text: str) -> str:"""
return r'\item ' + text + '\n'

# LaTeXRenderer end

# hook func
def remove_english(self, tokens, state):
# hook func: Callable[["Markdown", BlockState], Any]
def remove_english(self, state):
# 删除所有英文节点
tokens = state.tokens
# print(tokens) # for debug
for tok in tokens:
if 'block_quote' == tok['type']:

0 comments on commit 7c6d8fa

Please sign in to comment.