
환경 내부에 사소한 조판 문제가 있습니다 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}
그림에서 볼 수 있듯이 하이픈("대학 및 학위") 앞에 텍스트가 있으면 목록은 올바르게 표시되지만 "운영 체제"로 시작하는 줄은 들여쓰기됩니다.
그렇다면 주석 처리를 하지 않고 하이픈 앞의 공백을 제거하려면 어떻게 해야 합니까 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
사용하여 환경을 사용할 수 있습니다 . 대시 돌출을 고려하기 위해 두 가지 변형을 제공합니다.wide
nosep
enumitem
\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}