Longtable의 하이픈 앞에 불필요한 공간이 있습니다.

Longtable의 하이픈 앞에 불필요한 공간이 있습니다.

환경 내부에 사소한 조판 문제가 있습니다 longtable.

이력서를 작성하는 중인데 표 셀 안에 기술 목록을 작성해야 합니다. 문서 길이를 한 페이지로 줄이고 싶기 때문에 itemize공간을 절약하기 위해 를 사용하고 있지 않으므로 하이픈("-")을 사용하여 수동으로 목록을 작성했습니다.

하이픈이 표 셀의 첫 번째 문자인 경우 첫 번째 줄은 한 칸 들여쓰기되지만 목록 앞에 텍스트가 있으면 모든 것이 올바르게 표시됩니다.

주석을 달면 문제가 해결된다는 것을 알았지만 \usepackage{microtype}, 그렇지 않으면 간격이 너무 좋아 보이지 않기 때문에 패키지를 사용하고 싶습니다.

내가 가지고 있는 샘플은 다음과 같습니다.

\documentclass[a4paper,12pt,]{report}
\usepackage[swedish, italian]{babel}
\usepackage[utf8]{inputenc}
\usepackage{pslatex}
\usepackage{booktabs}
\usepackage{graphicx}
\usepackage[round]{natbib}
\usepackage{microtype}
\usepackage{longtable}
\usepackage[top=2cm, bottom=2cm, left=2.5cm, right=2.5cm]{geometry}
\usepackage{array}
\renewcommand{\baselinestretch}{1.05} 
\renewcommand*{\familydefault}{\sfdefault}
%----------------------------------------
\begin{document}
\pagenumbering{gobble}
\newcolumntype{R}{>{\raggedleft\arraybackslash}p{3.5cm}}

\begin{longtable}{Rp{11cm}}
\textbf{Education}&\\
2010 - 2014 &\textbf{University and degree} 

- One course

- Another course

- Some interesting seminar\\
\textbf{Computer skills}&\\
&- Operating systems: Windows, Linux

- Other software

- Other software
\end{longtable}
\end{document}

<code>마이크로타입</code>으로 출력

그림에서 볼 수 있듯이 하이픈("대학 및 학위") 앞에 텍스트가 있으면 목록은 올바르게 표시되지만 "운영 체제"로 시작하는 줄은 들여쓰기됩니다.

그렇다면 주석 처리를 하지 않고 하이픈 앞의 공백을 제거하려면 어떻게 해야 합니까 microtype?


편집: 들여쓰기된 줄 앞에 추가하여 문제를 수동으로 해결할 수 있다는 것을 알았지 \hspace{-2pt}만 여전히 이 작업을 수행할 수 있는 적절한 방법을 찾고 싶습니다. 지금까지 감사했습니다!

답변1

\\각 행 끝에 (이중 백슬래시)를 사용하고 &(열 구분 기호)를 삽입하면 발생한 문제가 해결됩니다. 덧붙여서 @egreg가 주석에서 언급했듯이 -; 최소한 en-dash(를 입력하여 생성됨 --) 사용을 고려하세요.

여기에 이미지 설명을 입력하세요

\documentclass[a4paper,12pt]{report}
\usepackage[swedish, italian]{babel}
\usepackage[utf8]{inputenc}
\usepackage{pslatex}
\usepackage{booktabs}
\usepackage{graphicx}
\usepackage[round]{natbib}
\usepackage{microtype}
\usepackage{longtable}
\usepackage[vmargin=2cm,hmargin=2.5cm]{geometry}
\usepackage{array}
\renewcommand{\baselinestretch}{1.05} 
\renewcommand{\familydefault}{\sfdefault}

\begin{document}
\pagenumbering{gobble}
\newcolumntype{R}{>{\raggedleft\arraybackslash}p{3.5cm}}

\begin{longtable}{Rp{11cm}}
\textbf{Education}&\\
2010--2014 &\textbf{University and degree} \\
&-- One course\\
&-- Another course\\
&-- Some interesting seminar\\[1ex]
\textbf{Computer skills}\\
&-- Operating systems: Windows, Linux\\
&-- Other software\\
&-- Other software\\
\end{longtable}
\end{document}

부록: 위에서 환경을 통해 얻은 결과는 환경 longtable에서도 얻을 수 있다고 생각합니다 tabular. 아래 예에서는 먼저 자료를 longtable(기본적으로 중앙에 있음)로 조판한 다음 백업하고 빨간색으로 전환한 후 tabular.

여기에 이미지 설명을 입력하세요

\documentclass[a4paper,12pt]{report}
\usepackage[swedish, italian]{babel}
\usepackage[utf8]{inputenc}
\usepackage{xcolor} % load this package so that "tabular" env. can be typeset in red
\usepackage{booktabs}
\usepackage{graphicx}
\usepackage[round]{natbib}
\usepackage{microtype}
\usepackage{longtable}
\usepackage[vmargin=2cm,hmargin=2.5cm]{geometry}
\usepackage{array}
\renewcommand{\baselinestretch}{1.05} 
\renewcommand{\familydefault}{\sfdefault}

\begin{document}
\pagenumbering{gobble}
\newcolumntype{R}{>{\raggedleft\arraybackslash}p{3.5cm}}

\begin{longtable}{Rp{11cm}}
\textbf{Education}&\\
2010--2014 &\textbf{University and degree} \\
&-- One course\\
&-- Another course\\
&-- Some interesting seminar\\[1ex]
\textbf{Computer skills}\\
&-- Operating systems: Windows, Linux\\
&-- Other software\\
&-- Other software\\
\end{longtable}

\centering
\vspace{-5.46cm} % vertical adjustment, to overlayed the tabular on the longtable
\color{red}
\begin{tabular}{Rp{11cm}}
\textbf{Education}&\\
2010--2014 &\textbf{University and degree} \\
&-- One course\\
&-- Another course\\
&-- Some interesting seminar\\[1ex]
\textbf{Computer skills}\\
&-- Operating systems: Windows, Linux\\
&-- Other software\\
&-- Other software\\
\end{tabular}
\end{document}

답변2

문제는 microtype하이픈과 대시가 여백에 튀어나올 수 있다는 것입니다. 몇 가지 예를 살펴보겠습니다.

\documentclass{article}
\usepackage{microtype,longtable}
\begin{document}
\setlength{\tabcolsep}{0pt} % no intercolumn space to show the problem

\begin{longtable}{l|p{3cm}}
xxx &- abc

- abc\\
\end{longtable}

\centering % longtable centers!

\begin{tabular}{l|p{3cm}}
xxx &- abc

- abc\\
\end{tabular}
\end{document}

여기에 이미지 설명을 입력하세요

따라서 "운영 체제" 줄에는 추가 공간이 없지만 돌출 부분이 없습니다( 열을 longtable사용하여 몇 가지 트릭을 수행함 p). 다음 하이픈은 약간 왼쪽에 있습니다.

해결책:

\newcommand{\itemdash}{\mbox{\kern0pt--}}

저는 하이픈 대신 en-dash를 사용했는데, 이는 스타일적으로 더 좋습니다.

전체 예는 다음과 같습니다.

\documentclass{article}
\usepackage{microtype,longtable}

\newcommand{\itemdash}{\mbox{\hspace{0pt}--}}

\begin{document}
\setlength{\tabcolsep}{0pt} % no intercolumn space to show the problem

\begin{longtable}{l|p{3cm}}
xxx &\itemdash\ abc

\itemdash\ abc\\
\end{longtable}

\centering % longtable centers!

\begin{tabular}{l|p{3cm}}
xxx &\itemdash\ abc

\itemdash\ abc\\
\end{tabular}
\end{document}

여기에 이미지 설명을 입력하세요

코드로 구현하면 \itemdash괜찮을 것입니다.

답변3

거기에서 어떤 마이크로타입이 수행되고 있는지는 확실하지 않지만 상자와 공백 없이 숨길 수 있습니다.

여기에 이미지 설명을 입력하세요

\documentclass[a4paper,12pt,]{report}
\usepackage[swedish, italian]{babel}
\usepackage[utf8]{inputenc}
\usepackage{pslatex}
\usepackage{booktabs}
\usepackage{graphicx}
\usepackage[round]{natbib}
\usepackage{microtype}
\usepackage{longtable}
\usepackage[top=2cm, bottom=2cm, left=2.5cm, right=2.5cm]{geometry}
\usepackage{array}
\renewcommand{\baselinestretch}{1.05} 
\renewcommand*{\familydefault}{\sfdefault}
%----------------------------------------
\begin{document}
\pagenumbering{gobble}
\newcolumntype{R}{>{\raggedleft\arraybackslash}p{3.5cm}}

\begin{longtable}{Rp{11cm}}
\textbf{Education}&\\
2010 -- 2014 &\textbf{University and degree} 

\hskip0pt-- One course

\hskip0pt-- Another course

\hskip0pt-- Some interesting seminar\\
\textbf{Computer skills}&\\
&\hskip0pt-- Operating systems: Windows, Linux

\hskip0pt-- Other software

\hskip0pt-- Other software
\end{longtable}
\end{document}

답변4

패키지 의 및 옵션을 itemize사용하여 환경을 사용할 수 있습니다 . 대시 돌출을 고려하기 위해 두 가지 변형을 제공합니다.widenosepenumitem

\documentclass[a4paper,12pt,]{report}
\usepackage[italian]{babel}%swedish,
\usepackage[utf8]{inputenc}
\usepackage{lmodern}
\usepackage{booktabs}
\usepackage{graphicx}
\usepackage[round]{natbib}
\usepackage{microtype}
\usepackage{longtable}
\usepackage[vmargin=2cm, hmargin=2.5cm]{geometry}
\usepackage{array}
\newcolumntype{R}{>{\raggedleft\arraybackslash}p{3.5cm}}

\usepackage{enumitem}

\usepackage{setspace}
\setstretch{1.05}
\renewcommand*{\familydefault}{\sfdefault}
%----------------------------------------
\begin{document}

\pagenumbering{gobble}
{\setlist[itemize,1]{label=\textendash, wide =0.6em, nosep}
\begin{longtable}{R p{11cm}}
\textbf{Education}&\\
2010 - 2014 &\textbf{University and degree}
    \begin{itemize}
    \item One course
    \item Another course
    \item Some interesting seminar
    \end{itemize}\\[-\topsep]
\textbf{Computer skills}
& \leavevmode\vspace{-\baselineskip}
\begin{itemize}
    \item Operating systems: Windows, Linux
    \item Other software
    \item Other software
    \end{itemize}
\end{longtable}}

{\setlist[itemize,1]{label = \,\textendash, wide, nosep}
\begin{longtable}{R p{11cm}}
\textbf{Education}&\\
2010 - 2014 &\textbf{University and degree}
    \begin{itemize}
    \item One course
    \item Another course
    \item Some interesting seminar
    \end{itemize}\\[-\topsep]
\textbf{Computer skills}
& \leavevmode\vspace{-\baselineskip}
\begin{itemize}
    \item Operating systems: Windows, Linux
    \item Other software
    \item Other software
    \end{itemize}
\end{longtable}}
\end{document} 

여기에 이미지 설명을 입력하세요

관련 정보