Como ajustar o espaçamento entre parágrafos no parbox?

Como ajustar o espaçamento entre parágrafos no parbox?

O que tenho no LyX é isto:

insira a descrição da imagem aqui

Adicionei ao preâmbulo esta linha:

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

Portanto, espero um espaço de 20 pontos entre cada linha. Porém, isso não acontece dentro do Parbox. Minha saída:

insira a descrição da imagem aqui

Pergunta: O que devo fazer para atingir o espaço de 20 pontos entre as linhas 3. e 4. acima?Gostaria que isso fosse realizado globalmente (ou seja, em todos os Parboxes do meu documento).

Código LaTeX (exportado do 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}

Responder1

Você pode adicionar estes comandos especificados pelo usuário:

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

Editar: O próximo "PS" está errado: (Veja os comentários de David) PS: Eu realmente não sabia se o parâmetro opcional padrão no parbox era t, mas procurei e agora sei que é.Esta frase entre "negritos" não é verdadeira

Minha desculpa: acabei de "pesquisar" e obtive estes resultados primeiro:

insira a descrição da imagem aqui

Vi o link com o título \parboxe acabei de ler nas duas últimas linhas a frase errada acima...

Então, aprendi a lição...Sempre verifique suas fontese não confie apenas no que você vê no Google à "distância"

Responder2

Entendo que esta não é uma resposta direta à sua pergunta e certamente é um exagero. No entanto, se você quiser desenhar caixas sem deslocar o texto (no seu exemplo, 3 e 4 estão deslocados um pouco para a esquerda), você sempre pode usar TikSobreposições 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}

insira a descrição da imagem aqui

Isto é certamente um exagero se você quiser apenas desenhar essas caixas, no entanto, se quiser fazer coisas mais sofisticadas, esta pode ser uma opção razoável.

Responder3

Já que você parece querer o \parskipin every \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}

insira a descrição da imagem aqui

informação relacionada