Excel에서 LaTex 테이블을 만드는 추가 기능을 만들어 보았습니다.

2232 단어 VSTOExcelLaTeXC#

소개



나는 LaTex 테이블을 만들 때 항상 Excel에서 대부분의 테이블 구성을 만든 후에 Tables Generator 같은 웹 응용 프로그램에 복사하여 LaTex 테이블을 만들었습니다. 굉장히 편리합니다만, 테두리나 셀의 병합등의 정보는 Web어플리케이션에 건네주는 단계에서 사라져 버리고, 만든 표의 체재를 보존해 둘 수도 없기 때문에 어느 정도 만들어 넣은 표의 경우 매번 작업이 조금 번거로웠습니다.

그래서 Excel의 애드인을 C#으로 만들 수 있다. 같은 확장 기능은 HTML이나 Markdown의 경우에는 벌써 확실한 것을 만들고 계시는 분이 있는 것 같습니다만, LaTex는 역시 마이너이기 때문인지 같은 것은 아직 없는 것 같습니다. 결과적으로 자신이 원하는 기능은 만들 수 있고, 적어도 자신은 사용하고 싶은 것이 생겼기 때문에 만족합니다.

제작한 것은 Visual Studio Tools for Office (VSTO) 릴리스 기능으로 인스톨러를 간단하게 배포할 수 있다는 것이었으므로 처음으로 사용해 보았습니다.

할 수 있는 일



간단합니다. Excel에서 선택한 범위를 LaTex 표로 변환하고 복사하면 됩니다.
GitHub에 올려 보았습니다.

나머지는 LaTex 테이블의 옵션입니다. 작성한 후에 변경해도 괜찮습니다. Excel 측의 조작으로 접힌 행을 스킵 하지 않는다고 하는 옵션을 붙여 보았습니다.



라는 것으로 만든 기능 개요는 다음과 같습니다.
  • 선택 영역을 LaTex 테이블로 클립 보드에 붙여 넣습니다
  • 선택 영역을 LaTex 테이블로 파일에 저장
  • 복잡한 표라면 본문 안에 두면 꽤 방해이므로 다른 파일로 해 include 할 때

  • 기본 테이블 옵션 지정
  • 테이블을 가운데에 넣거나
  • 테이블을 본문의 어디에 우선적으로 배치하는지
  • 레이블 지정
  • 캡션 지정

  • Excel 테이블의 숨겨진 행 (또는 열)이 선택 영역에 포함되어 있으면 LaTex에서도 숨기거나
  • 한 번 설정 한 내용을 설정 파일로 저장하여 다시 Excel을 열 때도 설정 내용을 유지

  • 앞으로 할 경우


  • 셀의 색, 문자의 색의 반영
  • 원래 색깔의 LaTex 테이블을 만든 적이 없지만 ...

  • 문자열 줄 바꿈
  • 테이블의 폭을 지정하면 가능한 것 같다.

  • 특수 문자의 자동 변환
  • LaTex로 입력해도 그대로 표시되지 않는 문자 변환
  • 표 자체는 최종적으로 LaTex의 표로 하는 전제로 만들고 있는 것은 아니기 때문에, 어쨌든 수식 등, 나중에 수정은 필요로 나누고 있는 부분이 있다.


  • 마지막으로



    C#에 접한 것은 거의 처음이었습니다만, 고기능의 개발 환경(VS)과 넷상의 알기 쉬운 정보 덕분에 간단하게 애드인을 제작할 수 있었습니다. 취미로 밖에 프로그래밍은 한 적이 없기 때문에 좋은 것이 생겼는지 모릅니다만, 좋으면 시험해 주시면 다행입니다.

    좋은 웹페이지 즐겨찾기