추출한 수식의 형태 문의.

안녕하세요, 한글을 가지고 이것저것 테스트를 해보다 보니 문의 드릴게 많네요.

hwp 문서에서 수식을 추출하면 작성한 사람에 따라
3 over 4가 나오기도 하고 {3} over {4} 가 나오기도 하는데요.

수식의 형태를 동일한 포멧으로 변환할 방법이 있을까 하여 문의 드립니다.

좋은 방법이 있으면 알려주세요… 통일되지 않아 처리하기가 매우 어렵네요…

1개의 좋아요

안녕하세요.
제가 생각하기에 수식이 다른 이유는
한/글의 버전이 다른 것 같습니다.
저도 같은 문제로 인해서 프로그램 만들어서 사용 중입니다.
아래 링크로 가셔서 파일 받으셔서 “수식 업데이트” 로 테스트해 보세요.
https://blog.naver.com/kosohn/223256450521

문서의 수식을 모두 “Equation Version 60” 으로 변경하는 프로그램입니다.
(한/글 2022 이상 버전에서 최적화 되어있습니다.)

만약 제가 말씀드린 프로그램으로 해결이 안된다면
수식 텍스트 부분을 파싱하여 일관되게 하는 방법밖엔 없을 것 같습니다.

2개의 좋아요

안녕하세요.

말씀하신 바와 같이 작성한 사람마다 스크립트를 사용하는 방식이 다르다 보니 똑같은 수식을 표현하더라도 스크립트가 달라지는 경우가 많습니다.

극단적으로는 3over4도 똑같은 역할을 하니까요. :joy:

수식 에디터를 통한 편집 동작으로 수식 편집창에 포커스를 준 뒤 스크립트 입력창으로 포커스를 주면 그려졌던 수식을 통해 스크립트를 재작성하여 정형화 된 스크립트로 변환해주기는 하는데 이 동작이 API로 노출되어 있지 않아 오토메이션에서는 이런 변환을 할 방법이 없을것으로 보입니다.

2개의 좋아요

와 신기한 프로그램을 만드셨네요~
블로그 잘 참고 해볼게요 ^^.

수식이 다른건 제가 혼자 작성해도 다르기 때문에 버전 문제는 별게인것 같아요~
감사합니다.

1개의 좋아요

그러게요~ 뭔가 데이터를 가져다가 머신러닝이라도 할라면 수식을 정리해야하고…
또 latex로 바꿔야 하는등 할게 많은데…
수식 형태 정리부터 난관이네요 ㅎㅎ

1개의 좋아요

혹시 파이썬을 사용중이시라면
pyhwpx모듈을 활용해보시는 방법도 있습니다.

아래 파이썬 코드는
문서 내 모든 수식을
(wj.jung님께서 알려주신 방식과 동일하게)
정형화하는 코드입니다.

from pyhwpx import Hwp

hwp = Hwp()
for ctrl in hwp.ctrl_list:
    if ctrl.UserDesc == "수식":
        hwp.select_ctrl(ctrl)
        hwp.EquationRefresh()

녹화_2024_08_31_17_33_03_174

그밖에 한/글 수식을 LaTeX로 추출하거나,
LaTeX를 한/글 수식으로 가져오는 방법은
아래 링크를 참고해주시기 바랍니다.

https://blog.naver.com/pythonrpa/223567440727

도움이 되었으면 좋겠습니다.

1개의 좋아요