
Tengo una fuente monoespaciada personalizada. Quiero escribir todo el documento usándolo. El resultado de hacer Lorem Ipsum muestra que mi fuente monoespaciada no se representa como monoespaciada (es decir, algunos anchos de caracteres están aplastados, probablemente debido a los algoritmos de representación de líneas). ¿Qué necesito configurar al final de LaTeX para que esto funcione correctamente? Estoy usando XeLaTeX.
\documentclass[a4paper,12pt]{article}
\usepackage{fontspec}
\usepackage{fullpage}
\setmainfont{MyFont}
\begin{document}
Hello world hello world Hello world hello world Hello world hello world Hello world hello worldHello world hello world Hello world hello worldHello world hello worldHello world hello world Hello world hello world Hello world hello world Hello world hello world Hello world hello world.
\end{document}
Me gustaría personalizar cuántas líneas exactamente por página y cuántos caracteres por línea (ya que es monoespaciado), o al menos establecer un tamaño de fuente y que todo el documento tenga monoespaciado en ese tamaño.
Respuesta1
El uso fullpage
no le dará la posibilidad de establecer el número de caracteres por línea ni el número de líneas por página. Esto se puede hacer en geometry
su lugar.
Sin embargo, la justificación hará que los caracteres no se alineen verticalmente, porque generalmente es imposible que las líneas contengan elexactoNúmero de caracteres (incluidos espacios). Si desea alineación vertical, necesita \raggedright
y \frenchspacing
.
En el ejemplo, configuro 72 caracteres (máximo) por línea y 48 líneas por página.
\documentclass[a4paper,12pt]{article}
\usepackage{fontspec}
\usepackage{geometry}
\usepackage{kantlipsum}
\setmainfont{Latin Modern Mono}
\newlength{\characterwidth}
\settowidth{\characterwidth}{\normalfont x}
\geometry{textwidth=72\characterwidth,lines=48}
\AtBeginDocument{\raggedright\setlength{\parindent}{3\characterwidth}}
\frenchspacing
\begin{document}
\kant[1-4]
\end{document}
Las primeras líneas con un marco alrededor del bloque de texto para mostrar más claramente dónde está el problema:
Como puede ver, las dos primeras líneas terminan en el margen, pero a la tercera le faltan dos caracteres para llegar a 72; Incluso con la separación de palabras activada, la siguiente palabra no puede caber, porque el espacio contaría para un carácter y el guión para otro.
Respuesta2
Por favor sé más específico. Al menos con respecto al espaciado, flushleft
se evita el espaciado desigual.
%!TEX program=xelatex
\documentclass[a4paper,12pt]{article}
\usepackage{fontspec}
\usepackage{fullpage}
\setmainfont{DejaVu Sans Mono}
\begin{document}
\begin{flushleft}
Hello world hello world Hello world hello world Hello world hello world Hello world hello world Hello world hello world Hello world hello worldHello world hello worldHello world hello world Hello world hello world Hello world hello world Hello world hello world Hello world hello world.
\end{flushleft}
\end{document}
Wrt líneas por página, esto puede merecer su atención: ¿Cómo puedo limitar el número máximo de líneas en una página?