¿Cómo ajustar el espacio entre párrafos en parbox?

¿Cómo ajustar el espacio entre párrafos en parbox?

Lo que tengo en LyX es esto:

ingrese la descripción de la imagen aquí

Agregué al preámbulo esta línea:

\global\setlength{\parskip}{20pt}

Por tanto, espero un espacio de 20 puntos entre cada línea. Sin embargo, esto no sucede dentro de Parbox. Mi salida:

ingrese la descripción de la imagen aquí

Pregunta: ¿Qué debo hacer para lograr el espacio de 20 puntos entre las líneas 3 y 4 anteriores?Me gustaría que esto se lograra globalmente (es decir, en todos los Parboxes de mi documento).

Código LaTeX (exportado desde LyX):

%% LyX 2.2.3 created this file.  For more info, see http://www.lyx.org/.
%% Do not edit unless you really know what you are doing.
\documentclass[english]{article}
\usepackage[T1]{fontenc}
\usepackage[latin9]{inputenc}
\usepackage{calc}

\makeatletter
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% User specified LaTeX commands.
\global\setlength{\parskip}{20pt}

\makeatother

\usepackage{babel}
\begin{document}
1. Hi

2. Hi

\noindent{\fboxrule 3pt\fboxsep 6pt\fbox{\parbox[t]{1\columnwidth - 2\fboxsep - 2\fboxrule}{%
3. Hi

4. Hi%
}}}
\end{document}

Respuesta1

Puede agregar estos comandos especificados por el usuario:

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% User specified LaTeX commands.
\setlength{\parskip}{20pt}
\let\oldparbox\parbox
\renewcommand\parbox[3][t]{\oldparbox[#1]{#2}{\setlength{\parskip}{20pt}#3}}
\makeatother

Editar: la siguiente "PD" es incorrecta: (ver los comentarios de David) PD: Realmente no sabía si el parámetro opcional predeterminado en parbox era t, pero lo busqué y ahora sé que lo es.Esta frase entre "negritas" no es cierta.

Mi excusa: Acabo de "buscar en Google" y obtuve estos resultados como primero:

ingrese la descripción de la imagen aquí

Vi el enlace con el título \parboxy acabo de leer en las dos últimas líneas la frase incorrecta anterior...

Entonces aprendí la lección...Siempre revisa tus fuentesy no te fíes sólo de lo que ves en google por "distancia"

Respuesta2

Entiendo que esta no es una respuesta directa a su pregunta y ciertamente es una exageración. Sin embargo, si desea dibujar cuadros sin mover el texto (en su ejemplo, 3 y 4 se desplazan un poco hacia la izquierda), siempre puede usar TikSuperposiciones Z.

\documentclass[english]{article}
\usepackage{calc}
\usepackage{tikzpagenodes}
\usetikzlibrary{fit}
\newcommand{\tikznode}[2]{\tikz[remember picture,baseline=(#1.base)]{\node(#1)[inner sep=0pt]{#2};}}
\makeatletter
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% User specified LaTeX commands.
\global\setlength{\parskip}{20pt}

\makeatother

\begin{document}
1. Hi

2. Hi

3. Hi\tikznode{3}{\strut}

4. Hi\tikznode{4}{\strut}%
\begin{tikzpicture}[overlay,remember picture]
\node [fit=(current page text area.west|-4.south) (current page text
area.east|-3.north),draw,ultra thick,rectangle]{};
\end{tikzpicture}
\end{document}

ingrese la descripción de la imagen aquí

Sin duda, esto es una exageración si solo desea dibujar estos cuadros; sin embargo, si desea hacer cosas más sofisticadas, esta puede ser una opción razonable.

Respuesta3

Ya que pareces querer el \parskipen cada \parbox:

\documentclass{article}

\newlength{\normalparskip}
\setlength{\normalparskip}{20pt}
\AtBeginDocument{\setlength{\parskip}{\normalparskip}\setlength{\parindent}{0pt}}

\makeatletter
\g@addto@macro{\@parboxrestore}{\setlength{\parskip}{\normalparskip}}
\makeatother

\newcommand{\framedparbox}[2][c]{%
  \noindent
  \begingroup
  \setlength{\fboxrule}{3pt}%
  \setlength{\fboxsep}{6pt}%
  \fbox{\parbox[#1]{\dimexpr1\columnwidth - 2\fboxsep - 2\fboxrule}{#2}}%
  \endgroup
}

\begin{document}

1. Hi

2. Hi

\framedparbox[t]{%
3. Hi

4. Hi%
}

\end{document}

ingrese la descripción de la imagen aquí

información relacionada