Espacio no deseado antes del guión en tabla larga

Espacio no deseado antes del guión en tabla larga

Tengo un problema menor de composición tipográfica dentro del longtableentorno.

Estoy escribiendo mi CV y ​​necesito escribir una lista de habilidades dentro de una celda de la tabla. Como me gustaría mantener la longitud del documento en una página, no lo uso itemizepara ahorrar espacio, por lo que escribí la lista manualmente usando guiones ("-").

He notado que, si el guión es el primer carácter en la celda de la tabla, la primera línea tiene una sangría de un espacio, mientras que si hay algo de texto antes de la lista, todo se muestra correctamente.

He notado que comentar \usepackage{microtype}soluciona el problema, pero me gustaría usar el paquete porque, de lo contrario, el espaciado no se ve tan bien.

Aquí hay una muestra de lo que tengo:

\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}

Salida con <code>microtype</code>

Como puedes ver en la imagen, si hay algún texto antes del guión ("Universidad y carrera") la lista se muestra correctamente, pero la línea que comienza con "Sistemas operativos" tiene sangría.

Entonces, ¿cómo puedo eliminar el espacio antes del guión sin tener que comentar microtype?


Editar: descubrí que puedo solucionar el problema manualmente agregando \hspace{-2pt}antes de la línea sangrada, pero aún así me gustaría encontrar una manera adecuada de hacerlo. ¡Gracias hasta ahora!

Respuesta1

Usar \\(doble barra invertida) al final de cada fila e insertar &(separadores de columnas) soluciona el problema que estás encontrando. Por cierto, como @egreg señaló en un comentario, no deberías usar -; como mínimo, considere usar guiones (creados escribiendo --).

ingrese la descripción de la imagen aquí

\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}

Apéndice: Creo que el resultado obtenido anteriormente con un longtableentorno también se puede obtener con un tabularentorno. En el siguiente ejemplo, compuse el material primero como longtable(que está centrado de forma predeterminada) y luego, después de hacer una copia de seguridad y cambiar a un color rojo, con un archivo tabular.

ingrese la descripción de la imagen aquí

\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}

Respuesta2

El problema es que microtypedeja que los guiones y guiones sobresalgan en los márgenes. Veamos un par de ejemplos:

\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}

ingrese la descripción de la imagen aquí

Por lo tanto, no hay espacio adicional en la línea "Sistemas operativos", sino que no hay protuberancias ( longtablehace algunos trucos con plas columnas). Los siguientes guiones están un poco hacia la izquierda.

Solución:

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

Utilicé un guión en lugar de un guión, lo cual es estilísticamente mejor.

Aquí está el ejemplo completo

\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}

ingrese la descripción de la imagen aquí

Si lo implementa \itemdashen su código, estará bien.

Respuesta3

No estoy seguro de qué microtipo hace allí, pero puedes ocultarlo con un cuadro y un espacio cero:

ingrese la descripción de la imagen aquí

\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}

Respuesta4

Puede utilizar el itemizeentorno, con las opciones widey nosepdel enumitempaquete. Doy dos variantes, para tener en cuenta la protuberancia del tablero:

\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} 

ingrese la descripción de la imagen aquí

información relacionada