Q&A 마당은 텍 관련 질문/답변을 위해 만들었습니다.

  • 로그인 없이 자유롭게 글을 읽고 쓸 수 있는 철학은 처음과 같이 계속됩니다.
  • 질문 전에 아래를 읽어 보세요. 좋은 질문이 좋은 답을 받을 수 있는 좋은 방법입니다.
    • 질문에 맞는 제목을 붙이세요. 질문의 내용과 관련없는 "고수님", "긴급질문", "도와주세요"와 같은 제목은 답이 잘 올라오지 않습니다. 이 게시판에 올라오는 모든 글은 질문입니다. 굳이 [질문], [Q]를 적으실 필요도 없습니다.
    • 내용을 충실히 적어 주시고, 같은 상황을 재현할 수 있는 최소한의 예제가 같이 있어야 합니다.
    • 최소 예제는 "Minimal working example"을 읽어 보세요.
  • 파일을 첨부하실 때에는 가능한 압축하여 파일 크기를 줄여서 올려주시길 바랍니다.
  • 개인적으로 사용하신 글꼴이 들어 있는 경우, preparefont.sty에 관한 답변을 참조하세요.
  • 스팸 글을 막기 위하여 짧은 시간 내에 다시 글이 등록되는 IP를 막거나, 광고 글을 막기 위하여 금지어로 .com, .net 등을 설정하고 있습니다. 다소간의 불편함이 있으시더라도 양해 바랍니다.
    • 금지어에서 stackexchange, stackoverflow, ctan, overleaf, , github, google.com, gmail.com, .org, .io, sil.org, wiki.com, tistory.com등은 해제하였습니다.
  • MathJax를 이용한 수식조판을 사용하실 수 있습니다. 여기를 참조하세요.
  • 사용하는 편집기는 CKeditor입니다.
    • 편집기에서 [enter]를 누르면 <p> 태그가 들어가고, 문단으로 생각하고 한 줄을 비웁니다.
    • 글줄만 바꾸려면 [shift-enter]를 누르면 <BR> 태그가 들어가므로 용도에 맞게 나누어 쓸 수 있습니다.
    • 수식를 문서내에 삽입하시려면 에디터를 툴바에서 [소스]를 눌러 HTML로 입력할 수 있게 바꾸신 후 <pre> </pre> tag를 사용하셔서 <pre> 여러 줄의 수식 </pre>처럼 입력하시면 좋습니다.

nanim

일단, mmd가 생성해준 table 코드는 건드리지 말고 preamble의 조작만으로 표가 잘리게 하라는 말씀이라고 이해했습니다.

그러자면 다음 세 가지 문제를 해결해야 합니다.

  1. floating 환경인 table, figure가 쪽나눔을 방해하므로 제거해야 합니다.
  2. minipage는 원래 한 페이지 안에서만 구현되니까 이것도 제거해야 합니다.
  3. longtabu 환경의 문법과 tabulary가 다르므로 적당히 손을 봐줘야 합니다.

일단 table과 minipage 모두 무력화

\def\table[#1]{}
\def\endtable{}
\def\minipage#1{}
\def\endminipage{}


tabulary로 된 환경을 longtabu에서 돌아가게 하기 위해서

\usepackage{longtable,tabu}
\newcolumntype L{l}
\let\tabulary=\relax
\def\tabulary#1{\begin{longtabu}to#1}
\def\endtabulary{\end{longtabu}}


이 정도 하면, 적어도 예시된 문서는 원하는 대로 나올 것으로 봅니다.

그러나, 이 절차에서 보시듯이 minipage나 table와 같은 latex 설계상 basic한 것들을 \def하고 있다는 점에서 매우 위험한 코드이고, 일반적 목적에 사용하지 않아야 할 것입니다. 꼭 필요하다면 이러한 재정의를 "국지화(localize)"하는 방법을 생각해보시기 바랍니다.


======


Scrivener에서 이걸 어떻게 할 수 있겠나 생각해봤습니다.

표의 앞과 뒤에

<!--\begin{demo}-->

|  우편번호 |  일련번호 | 주소 |

=======| === | ===

....

<!-- \end{demo} -->


와 같이 마크업하는 것은 어렵지 않을 겁니다. 그리고 demo 환경을 다음과 같이 정의하여 preamble에 두면,


\newenvironment{demo}{
    \let\ORGtabulary=\tabulary
    \let\endORGtabulary=\endtabulary
    \let\ORGtable=\table
    \let\endORGtable=\endtable
    \let\ORGminipage=\minipage
    \let\endORGminipage=\endminipage
    \def\table[##1]{}
    \def\endtable{}
    \def\minipage##1{}
    \def\endminipage{}
    \def\tabulary##1{\begin{longtabu}to##1}
    \def\endtabulary{\end{longtabu}}
}
{
    \let\table=\ORGtable
    \let\endtable=\endORGtable
    \let\minipage=\ORGminipage
    \let\endminipage=\endORGminipage
    \let\tabulary=\ORGtabulary
    \let\endtabulary=\endORGtabulary
}


원하시는 대로 Marked 앱에서는 markdown으로 보이고 latex으로 변환하면 longtable이 되지 싶습니다.

demo 정의 이전에 다음 두 줄은 필요하겠네요.


\usepackage{longtable,tabu}
\newcolumntype L{l}


제가 테스트한 스크리브너 파일을 첨부합니다. 이 테스트에서는 caption을 문제삼지 않았습니다. 만약 caption까지 처리해야 한다면 고려할 요인이 좀 더 있겠습니다.






XE Login