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>처럼 입력하시면 좋습니다.
자간을 바꾸지 않고 띄어쓰기 간격만 조절해서 양쪽정렬을 하는 방법이 있을까요?
2019.03.20 19:57
(아래아)한글 워드프로세서를 보면 문단정렬 조건 중에
한 줄에 있는 단어의 수와 상관 없이 띄어쓰기를 조절해서
단의 양쪽에 맞추어 모든 단어를 고르게 배열하는 조건인
`나눔정렬'이 있습니다.
말하자면, 자간을 바꾸지 않고 띄어쓰기 간격만 조절해서 양쪽정렬을 합니다.
Latex에서 이런 기능을 어떻게 구현할 수 있는지요?
모든 단어 사이에 \hfill 명령을 쓰면 되는 줄 알지만,
정렬할 양이 많아서 일일이 명령을 쓸 수 없는 상황입니다.
이를테면 \raggedboth 이런 정렬 조건이 있으면 좋겠습니다.
Windows10 En, x64, texlive2018을 사용합니다.
댓글 6
-
ischo
2019.03.20 22:42
-
작나
2019.03.20 22:49
\documentclass{article} \usepackage{kotex} \begin{document} { \setlength\parindent{0pt} \obeylines \let^^M=\break 한단어 두 단어 세 단어를 양쪽정렬 네 단어를 고르게 양쪽정렬 다섯 단어를 띄어쓰기 고르게 양쪽정렬 여섯 단어를 띄어쓰기 간격을 넓혀서 고르게 양쪽정렬 } \end{document}
-
이기문
2019.03.21 03:43
두 분께 고맙습니다.
-
noname
2019.03.21 06:53
xetexko의 기능을 이용했기 때문에 XeLaTeX xetexko에서 "한글"에 대해서만 유효합니다.
굳이 하자고 들면 못할 것은 없지 않은가 싶어서 시험해본 것이고 저 자신은 이런 것이 필요한지... 라고 생각합니다.
만약 라틴 문자 등에도 이런 걸 적용하려면(특히 영문자에 대해서 글자 사이를 늘리는 것은 곤란하다고 보지만요) 한 가지 생각나는 방법은 이 글의 답글에서 논의된 방법을 적용한다든지 해서 단어 사이, 글자 사이에 적당한 stretch를 주면 어찌 될 것 같기도 합니다만...
-
yihoze
2019.03.21 09:04
한문에 적용하면 쓸모있을 것 같습니다.
-
noname
2019.03.22 08:36
제가 문제를 잘못 이해한 거 같습니다. 본글에 나와 있는 그림과 같은 모양을 만들라는 것인 줄 알고 앞선 답변을 제시했습니다만, 이제 보니 "자간을 바꾸지 않고 띄어쓰기 간격만 조절해서 양쪽정렬"을 하는 것만을 요구하셨네요. 방법도 이미 "단어 사이에 \hfill을 넣으면 된다"고 하신 바, 그대로 해보겠습니다.
\usepackage{environ} \ExplSyntaxOn \NewDocumentCommand \test {+m} { \parindent=0pt \seq_set_split:Nnn \l_tmpa_seq { \\ } { #1 } \seq_map_inline:Nn \l_tmpa_seq { \seq_set_split:Nnn \l_tmpb_seq { ~ } { ##1 } \seq_use:Nn \l_tmpb_seq { \hfill } \par } } \NewEnviron{Test}{ \exp_args:No \test{\BODY} } \ExplSyntaxOff
Test 환경 안에서 \\를 써서 다음과 같이 입력합니다.
\begin{Test}
한단어\\
두 단어\\
세 단어를 양쪽정렬\\
네 단어를 고르게 양쪽정렬\\
다섯 단어를 띄어쓰기 간격을 양쪽조절\\
여섯 단어를 띄어쓰기 간격을 얿혀서 고르게 양쪽정렬
\end{Test}
\documentclass{oblivoir}
\NewDocumentCommand\ssw{u;}{\makebox[\linewidth][s]{#1}\par}
\begin{document}
\makebox[\linewidth][s]{두 단어}
\makebox[\linewidth][s]{세 개의 단어}
\ssw 네 개씩이나 되는 단어;
\ssw 네 개에다 또 다섯째 단어;
\ssw 다섯 단어보다 더 많은 여섯 단어;
\end{document}