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>처럼 입력하시면 좋습니다.
문장을 선택적으로 출력할 수 있는 방법이 있는지요?
2016.08.11 15:54
번역작업을 텍으로 해볼려고 합니다..
문서는 대략 다음과 같은 구조로 생각하고 있습니다.
----------------------
옵션
원문1
번역문1
원문2
번역문2
...
-----------------------
이런식으로 작성한뒤
옵션에 따라 PDF에 원문만 또는 번역문만 나오게 할 수 있는 그런 방법이 있을까요?
댓글 6
-
하늘연
2016.08.11 20:29
-
yihoze
2016.08.12 09:57
조건문을 만드는 여러 방법들이 있는데 아주 간단하게 하자면,
\newif\ifenglish
\englishtrue \englishfalse
\newif\ifkorean
\korean true \koreanfalse
\newcommand\eng[1]{\ifenglish #1 \fi}
\newcommand\kor[1]{\ifkorean #1 \fi}
또는
\newcommand\biling[2]{\ifenglish #1 \fi \ifkorean #2 \fi}
그런데 이렇게 하면,
\eng{I am happy to join with you today in what will go down in history as the greatest demonstration for freedom in the history of our nation.}
\kor{우리 역사에서 자유를 위한 가장 훌륭한 시위가 있던 날로 기록될 오늘 이 자리에 여러분과 함께하게 된 것을 기쁘게 생각합니다.}
또는\biling{
I am happy to join with you today in what will go down in history as the greatest demonstration for freedom in the history of our nation.
}{
우리 역사에서 자유를 위한 가장 훌륭한 시위가 있던 날로 기록될 오늘 이 자리에 여러분과 함께하게 된 것을 기쁘게 생각합니다.
}
이렇게 해야 하는데, 글 양이 많다면 아주 성가실 것 같습니다.
그래서 xparse의 필수 옵션 유형 가운데 u (until)를 써봤습니다.
(아직 많은 분들이 expl3가 익숙하지 않을 텐데 ... 어쩔 수 없습니다.)
\NewDocumentCommand \eng { u{|} }
{
\bool_if:NT \english_bool { \vspace{1.75ex}\par #1 }
}
\NewDocumentCommand \kor { u{|} }
{
\bool_if:NT \korean_bool { \vspace{1.25ex}\par #1 }
}
그래서 결론적으로 이렇게 쓸 수 있게 만들었습니다.
\eng I am happy to join with you today in what will go down in history as the greatest demonstration for freedom in the history of our nation.|
\kor 우리 역사에서 자유를 위한 가장 훌륭한 시위가 있던 날로 기록될 오늘 이 자리에 여러분과 함께하게 된 것을 기쁘게 생각합니다.|
문단 끝에 막대기 (|)를 붙여줘야 합니다. 막대기가 싫으면, 이를테면 +를 쓰고 싶다면 이렇게 고칩니다.\NewDocumentCommand \eng { u{+} }
-
그로몹
2016.08.12 10:43
새로운 방법도 상당히 좋아보이는군요.
그런데 마감하는 기호 | 를 사용하는데
혹시 두 글자를 사용할 수도 있나요?
|| 라든가 |+ 같이요?
-
yihoze
2016.08.12 11:15
안될 줄 알았는데, 해 보니 되는데요.
-
그로몹
2016.08.12 22:36
수학 때문에 | 나 + 같은 기호를 쓸 수는 없지만 ++ 같이 잘 나오기 힘든 것을 쓰면 좋겠네요.
-
yihoze
2016.08.12 14:17
if문 없이 할 수 있는 더 간단한 방법도 있습니다.
\newcommand\eng[1]{#1}
\newcommand\kor[1]{#1}
\eng{...}
\kor{...}
한국어 글이 식자되지 않게 하려면
\renewcommand\kor[1]{}
그렇게 좋은 솔루션은 아닌거 같긴 한데... 다음과 같은 방법도 있습니다.
----------------------------------------------------------------------------------------------------
\documentclass{oblivoir}
\usepackage{pgfkeys,ifthen}
\let\SetValue\pgfkeyssetvalue
\SetValue{language}{both}
\newcommand{\ProcessData}{
\ifthenelse{\equal{\pgfkeysvalueof{language}}{both}}{
\pgfkeysvalueof{korean}
\pgfkeysvalueof{english}}
{}
\ifthenelse{\equal{\pgfkeysvalueof{language}}{korean}}{
\pgfkeysvalueof{korean}}
{}
\ifthenelse{\equal{\pgfkeysvalueof{language}}{english}}{
\pgfkeysvalueof{english}}
{}
}
\begin{document}
\SetValue{korean}{안녕하세요}
\SetValue{english}{Hello}
\SetValue{language}{both}
\ProcessData
----------------------------------------------------------
\SetValue{language}{english}
\ProcessData
----------------------------------------------------------
\SetValue{language}{korean}
\ProcessData
\SetValue{korean}{만나서 반가워요.}
\SetValue{english}{Nice to meet you}
------------------------------------------------------
\SetValue{language}{both}
\ProcessData
----------------------------------------------------------
\SetValue{language}{english}
\ProcessData
----------------------------------------------------------
\SetValue{language}{korean}
\ProcessData
\end{document}