Notice
Recent Posts
Recent Comments
Link
관리 메뉴

뛰는 놈 위에 나는 공대생

[LaTeX] Linewidth, Textwidth 등 길이 차이 본문

기타/논문작성 Writing

[LaTeX] Linewidth, Textwidth 등 길이 차이

보통의공대생 2022. 12. 13. 19:24

레이텍을 쓰다보면 textwidth를 쓰는 게 맞는 건지, linewidth를 쓰는게 맞는 건지 헷갈리는 때가 있다.

이에 대한 차이를 검색해서 다른 사람들이 쓴 의견을 정리해놓는다.

 

 

1. \hsize, \textwidth, \columnwidth, \linewidth에 대한 구별

 

  • \hsize is a TeX primitive that should not be usually used in LaTeX
  • \textwidth is the (constant) width of the total text block
  • \columnwidth is the (constant) width of a single column of text
    (which is the same as \textwidth for a single column document)
  • \linewidth is a variable that represents the current size of the line of text, whether inside a column or a minipage or a list

hsize는 잘 쓰지 않는 옛날 값이다.(나 역시 한 번도 써본 적이 없다.)

textwidht는 text block의 width라고 한다.

columnwidth는 한 페이지에 컬럼이 여러 개 있을 때 한 column의 너비를 말한다. 만약 one column인 텍스트라면 textwidth와 columnwidth는 일치한다.

 

linewidth는 유동적인 값으로, latex 안에서 다른 블록이나 미니페이지, 컬럼으로 들어갈 때 현재 상태에서의 linewidth를 말한다.

 

이를 코드로서 구별되도록 다른 분이 답변을 남겨놓으셨다.

 

\documentclass[twocolumn]{article}
\parindent=0pt
\usepackage[paperheight=7cm]{geometry}
\begin{document}

\leavevmode\rlap{text:}\rule{\textwidth}{2pt}\par
\leavevmode\rlap{line:}\rule{\linewidth}{2pt}\par
\leavevmode\rlap{hsize:}\rule{\hsize}{2pt}\par
\leavevmode\rlap{column:}\rule{\columnwidth}{2pt}

\begin{itemize}
\item \rule{\textwidth}{5pt}
\item \rule{\linewidth}{5pt}
\item \rule{\hsize}{5pt}
\item \rule{\columnwidth}{5pt}
\end{itemize}

\onecolumn
\leavevmode\rlap{text:}\rule{\textwidth}{2pt}\par
\leavevmode\rlap{line:}\rule{\linewidth}{2pt}\par
\leavevmode\rlap{hsize:}\rule{\hsize}{2pt}\par
\leavevmode\rlap{column:}\rule{\columnwidth}{2pt}

\begin{itemize}
\item \rule{\textwidth}{5pt}
\item \rule{\linewidth}{5pt}
\item \rule{\hsize}{5pt}
\item \rule{\columnwidth}{5pt}
\end{itemize}

\end{document}

 

 

위 그림을 보면 1페이지는 two column인 경우이고, 아래는 one column인 경우이다.

 

첫번째 페이지에서 \textwidth는 컬럼 개수에 관계없이 페이지의 너비를 의미하며 고정된 값이다.

반면에 \columnwidth,\linewidth, \hsize는 모두 컬럼에 맞춰진다.

그러나 만약 특정 구간(위의 경우에는 itemize 구간) 안에 들어가면 linewidth는 itemize로 인해 들여쓰기 된 것까지 감안하여 linewidth가 작성된다. 그러나 나머지 \columnwidth, \hsize는 constant값으로 유지된다.

 

2페이지에서도 총 페이지가 하나의 컬럼인데 \linewidth의 경우에는 줄 들여쓰기에 맞춰져 길이가 변한다.

즉, figure size를 정할 때 유동적으로 줄의 길이에 따라 비율로 쓰고 싶으면 \linewidth로 쓰는 거고, 고정된 textwidth에 따라 쓰고 싶으면 \textwidth를 쓰면 된다.

 


참고 글

 

https://tex.stackexchange.com/questions/16942/difference-between-textwidth-linewidth-and-hsize

 

Difference between \textwidth, \linewidth and \hsize

The three lengths \textwidth, \linewidth and \hsize seem to all hold the width of the current line. At least I never saw some real difference between \textwidth and \linewidth in my code. Both seem...

tex.stackexchange.com

 

 

Comments