
Quiero tener dos líneas (una especie de "metadatos de página") en cada subsección alineadas a la derecha. Esas líneas sonnuncaserá de ancho completo (uno contiene solo una fecha).
Para eso estaba tratando de definir un comando que los coloque en un entorno RaggedLeft para (1) evitar todas esas advertencias de "Underfull hbox" y (2) no escribir tanto.
Simplemente no funciona.
% !TEX root = ./raggedleft.tex
\documentclass{article}
\usepackage[english,ngerman]{babel}
\usepackage[hidelinks]{hyperref}
\usepackage{lmodern,textcomp}
\usepackage{ifluatex}
\ifluatex
\usepackage{luacode}
\usepackage{fourier}
\usepackage{fontspec}
\setmainfont{Erewhon}
\else
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{fourier}
\fi
\usepackage[document]{ragged2e}
\setlength{\parskip}{1em}
\setlength{\parindent}{3em}
\renewcommand{\baselinestretch}{1.2}
%% new command: \postheader{datestring}{tagstring}
%% prints the post date and tags right-aligned
\newcommand\postheader[2]{%
\begin{RaggedLeft}%
#1\\#2%
\end{RaggedLeft}%
}
\begin{document}
\postheader{Some weird words on the right}{and more words, hopefully right-bound}
Normal boring left-aligned text.
\end{document}
El resultado es que la segunda línea está orientada hacia la izquierda y todavía aparece una advertencia de "hbox insuficientemente lleno".
Dato curioso: si coloco esto en un \FlushRight
entorno, funciona, pero esto (1) no es lo que quiero, (2) sigo recibiendo las advertencias y (3) no lo entiendo en absoluto, y no No me gustan las cosas que no entiendo ;) .
Los experimentos con comandos que no son de ragg2e arrojan los mismos resultados.
Estoy usando latexmk (con luatex 1.10.0/TeX live 2019) en Mac.
Respuesta1
Lo que sucede es que \end{RaggedLeft}
simplemente finaliza la composición tipográfica alineada a la derecha, pero no emite ningún comando de finalización de párrafo, por lo que la segunda línea se compone con la configuración estándar.
En su caso \RaggedLeft
no es la herramienta adecuada, porque con líneas cortas obtendría cuadros insuficientes. Utilice la \raggedleft
declaración estándar.
Minimizé el ejemplo eliminando todos los bits no esenciales.
\documentclass{article}
%% new command: \postheader{datestring}{tagstring}
%% prints the post date and tags right-aligned
\newcommand\postheader[2]{%
\par\begingroup\raggedleft #1\\#2\\\endgroup
}
\begin{document}
\postheader{Some weird words on the right}{and more words, hopefully right-bound}
Normal boring left-aligned text.
\end{document}