Wie beginnt man eine neue Zeile in \boxed{}?

Wie beginnt man eine neue Zeile in \boxed{}?

Ich habe:

\documentclass[12pt,a4paper]{article}
\newcounter{conto}
\setcounter{conto}{\time}
\usepackage{lmodern}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{dsfont}
\usepackage{mathrsfs}
\usepackage{amssymb,amsmath}
\usepackage{cancel}
\begin{document}
\section{Prove}
\(\boxed{1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20"a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z"}\)
\end{document}

aber die Ausgabe ist die folgende:

Bildbeschreibung hier eingeben

Wie beginnt man automatisch eine neue Zeile \boxed{}?

Antwort1

Guten Abend, der \boxedBefehl ist in der amsmath.{sty|dtx}Datei definiert (die Teil des amsmathPakets ist), er lautet:

\newcommand{\boxed}[1]{\fbox{\m@th$\displaystyle#1$}}

Wir können es neu definieren und stattdessen Inline-Mathematik verwenden. Mithilfe des \fboxBefehls können wir ein Rechteck zeichnen, dessen richtige Breite ist \textwidth-2\fboxrule-2\fboxsep. Der Kern unserer Arbeit besteht darin, Zeilenumbrüche an den richtigen Stellen (Kommas, Anführungszeichen) zuzulassen, ohne sie zu verlieren. Lassen Sie uns \allowbreakzu diesem Zweck verwenden.

Der schnelle Trick besteht darin, diese Zeichen zu aktivieren ( \catcodeto 13) und sie nach unseren Wünschen zu definieren. Das einzige Problem in unserem Beispiel besteht darin, nicht in eine Endlosschleife zu geraten. Daher speichern wir die ursprünglichen Zeichen vor der Aktivierung in separaten Befehlen.

Normalerweise erledigen wir das alles in einer Gruppe, z. B. indem wir verwenden { }, ich überspringe diesen Schritt.

Und voilà! Ich füge ein kleines Beispiel bei. Viel Spaß! :-)

\documentclass[12pt,a4paper]{article}
\usepackage{amsmath}
\begin{document}
% \the\fboxrule % If we wish to see the first used dimension...
% \the\fboxsep  % If we wish to check the second used dimension...
% E.g., we wish to have a nice cozy rectangle across the whole mirror...
\parindent=0pt
% One paragraph typeset for checking purposes only...
text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text\par
% Let's compute the real width of the mirror...
\newdimen\temp                % A declaration of a new dimension...
\temp=\textwidth              % The width of the text minus
\advance\temp by -2\fboxrule  %    border from both sides minus
\advance\temp by -2\fboxsep   %    inner separator from both sides.
% Storage of the \boxed command created by the AMS... (amsmath.dtx).
\let\oldboxed=\boxed
% Redefinition of \boxed, let's use breakable inline mathematics...
\def\boxed#1{\fbox{\parbox{\temp}{$#1$}}}
% We'll make comma as an active character according to our wishes...
\def\mycomma{,}
\catcode`\,=13
\def,{\mycomma\allowbreak}
% The same strategy will be applied to one more used character...
\def\mymark{"}
\catcode`\"=13
\def"{\mymark\allowbreak}
% The core of our efforts...
\boxed{1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20"a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z"}\par
% And we are back in reality from our dreams... ;-)
\let\boxed=\oldboxed
\boxed{1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20"a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z"}
\end{document}

Bildbeschreibung hier eingeben

Ich habe nur \pagestyle{empty}die Präambel des Dokuments hinzugefügt, um eine ordentliche beschnittene Version zu erhalten. Wenn wir eine nicht-mathematische Version bevorzugen, ändern Sie $#1$sie bitte #1in die Neudefinition des \boxedBefehls.

Antwort2

Ich bin nicht sicher, ob Sie den Mathematikmodus falsch verwenden. Darin \boxedkönnen Sie jede der „inneren“ amsmathUmgebungen verwenden. In diesem Fall habe ich Folgendes verwendet aligned:

\documentclass[12pt,a4paper]{article}
\usepackage{amsmath}
\begin{document}
\[
\boxed{
  \!\begin{aligned}
  &1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,\\
  &a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z
  \end{aligned}
}
\]
\end{document}

Bildbeschreibung hier eingeben

Wenn Sie nicht an den Mathematikmodus gedacht haben, geben Sie bitte genauere Angaben.

Antwort3

Es ist auch hilfreich, ein Leerzeichen einzufügen.

\documentclass[12pt,a4paper]{article}
\newcounter{conto}
\setcounter{conto}{\time}
%\usepackage{lmodern}
%\usepackage[T1]{fontenc}
%\usepackage[utf8]{inputenc}
%\usepackage{dsfont}
%\usepackage{mathrsfs}
\usepackage{amssymb,amsmath}
%\usepackage{cancel}
\begin{document}
\section{Prove}
\(
\fbox{\parbox{4in}{1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20 "a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z"}}
\)
\end{document}

verpackt

Ich sollte erwähnen, dass Sie sich innerhalb der \parbox nicht mehr im Mathematikmodus befinden.

Antwort4

Sie können einen Stapel verwenden. Beachten Sie, dass das standardmäßige Zeilenendezeichen (EOL) ein Leerzeichen in stackengine's ist \Longstack, was für Ihr Beispiel gut funktioniert. Aber oft, wenn Ihr Stapel natürliche Leerzeichen enthält, müssen Sie das EOL für den Stapel ändern, was ich für den zweiten Stapel mache, indem ich \\verwende \setstackEOL{}. Außerdem führt die Verwendung von \stackMathoder \stackTextdazu, dass die Stapelargumente als Mathematik bzw. Text interpretiert werden, wie ich auch zeige.

\documentclass[12pt,a4paper]{article}
\newcounter{conto}
\setcounter{conto}{\time}
\usepackage{lmodern}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{dsfont}
\usepackage{mathrsfs}
\usepackage{amssymb,amsmath}
\usepackage{cancel}
\usepackage{stackengine}

\begin{document}
\section{Prove}
\stackMath
\(\boxed{\Longstack{1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20
``a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z''}}\)
\section{Prove Again}
\setstackEOL{\\}
\stackText
\(\boxed{\Longstack{1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20\\
``a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z''}}\)
\end{document}

Bildbeschreibung hier eingeben

verwandte Informationen