일반 텍스트를 입력으로 사용하는 Python 스크립트를 작성 중이며 LaTeX 코드를 출력으로 생성합니다. 어떤 점에서 스크립트는 %
, &
, \
및 이 켜져있는 것처럼 TeX에서 특별한 의미를 갖는 문자를 모두 인용해야합니다.TeX 입력에 대한 인용 문자열
예상보다 어렵습니다. 현재 나는이있다 : 그들은 잠재적으로 이전 치환에 의해 생산되기 때문에
가def ltx_quote(s):
s = re.sub(r'[\\]', r'\\textbackslash{}', s)
# s = re.sub(r'[{]', r'\\{{}', s)
# s = re.sub(r'[}]', r'\\}{}', s)
s = re.sub(r'[&]', r'\\&{}', s)
s = re.sub(r'[$]', r'\\${}', s)
s = re.sub(r'[%]', r'\\%{}', s)
s = re.sub(r'[_]', r'\\_{}', s)
s = re.sub(r'[\^]', r'\\^{}', s)
s = re.sub(r'[~]', r'\\~{}', s)
s = re.sub(r'[|]', r'\\textbar{}', s)
s = re.sub(r'[#]', r'\\#{}', s)
s = re.sub(r'[<]', r'\\textless{}', s)
s = re.sub(r'[>]', r'\\textgreater{}', s)
return s
문제는의 {
및 }
자 - 경우 대체되어서는 안되는 (\
>\textbackslash{}
). 나는이 솔루션이 한 번에 모든 대체물을 만들 것이라고 생각하지만, 어떻게해야할지 모른다.