Wie passe ich den Abstand zwischen Absätzen in Parbox an?

Wie passe ich den Abstand zwischen Absätzen in Parbox an?

Was ich in LyX habe, ist Folgendes:

Bildbeschreibung hier eingeben

Ich habe der Präambel diese Zeile hinzugefügt:

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

Ich erwarte also einen Abstand von 20pt zwischen jeder Zeile. Dies geschieht jedoch nicht innerhalb der Parbox. Meine Ausgabe:

Bildbeschreibung hier eingeben

Frage: Was muss ich tun, um den 20pt-Abstand zwischen den Zeilen 3 und 4 oben zu erreichen?Ich möchte, dass dies global erfolgt (d. h. über alle Parboxen in meinem Dokument hinweg).

LaTeX-Code (aus LyX exportiert):

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

Antwort1

Sie können Ihren benutzerdefinierten Befehlen Folgendes hinzufügen:

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

Bearbeiten: Das nächste „PS“ ist falsch: (Siehe Kommentare von David) PS: Ich wusste nicht wirklich, ob der optionale Standardparameter in Parbox war t, aber ich habe danach gesucht und weiß jetzt, dass es so ist.Dieser Satz zwischen "Fettdruck" ist nicht wahr

Meine Entschuldigung: Ich habe gerade „gegoogelt“ und hatte als erstes diese Ergebnisse:

Bildbeschreibung hier eingeben

Ich habe den Link mit Titel gesehen \parboxund gerade aus den letzten beiden Zeilen den obigen falschen Satz gelesen ...

Also, ich habe meine Lektion gelernt ...Überprüfen Sie Ihre Quellen immer doppeltund vertrauen Sie nicht nur dem, was Sie bei Google sehen, aus der Ferne

Antwort2

Ich verstehe, dass dies keine direkte Antwort auf Ihre Frage ist und sicherlich etwas übertrieben. Wenn Sie jedoch Kästchen zeichnen möchten, ohne den Text zu verschieben (in Ihrem Beispiel werden 3 und 4 etwas nach links verschoben), können Sie immer Ti verwendenkZ-Überlagerungen.

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

Bildbeschreibung hier eingeben

Dies ist sicherlich übertrieben, wenn Sie nur diese Kästchen zeichnen möchten, wenn Sie jedoch ausgefallenere Dinge tun möchten, kann dies eine sinnvolle Option sein.

Antwort3

\parskipDa Sie anscheinend in jedem möchten \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}

Bildbeschreibung hier eingeben

verwandte Informationen