En pinne i LaTex
Rubriken låter lite konstigt... men jag menar att jag behöver en ''pinne'' i en koefficient matris, för att separera parameter koefficient och resultat:
Jag vill ha typ det:
... men i en miljö som tillåter matrisoperationer.
Jag behöver en slags \begin{array}{ccc|c}. Problemet är att när jag lägger på en linje \begin{array}{ccc|c} crashar hela koden under.
Min kod:
\begin{alignat*}1
\begin{gmatrix}[p]
-1 & 2 & -1 &-1 \
-2 & -4 & -2 &-2 \
-1 & 2 & -1 &-1
\rowops
\mult{0}{\cdot(-2)}
\add01
\mult{0}{\cdot(-1)}
\add02
\end{gmatrix}\kern-6.23pt\leadsto&
\begin{gmatrix}[p]
-1 & 2 & -1 &-1 \
0 & -8 & 0 &0 \
0 & 0 & 0 &0
\end{gmatrix}\
\end{alignat*}
Ett sätt är att lösa detta som jag hittade här, är att dels lägga in en extra kolumn i matrisen, och dels införa ett nytt kommando \BAR i preamblen (har ingen aning om hur detta egentligen fungerar) som ger en vertikal linje som man kan fylla den tomma kolumnen med (vid behov kan man skriva \BAR[4pt] eller liknande för för att kompensera för de extra vertikala mellanrum som uppstår när radoperationerna läggs till). Jag har lagt in ett exempel på detta i det tidigare exempeldokumentet.
Personligen tycker jag Gauss-paketet ger ett lite väl klöddigt/rörigt resultat, så la även in ett exempel på en lite mer minimalistisk variant!
men det är så klart en smaksak vad man föredrar :)
Oh wow, jag fattar verkligen ingenting i stucken nedan:D! Har prydligt uppdaterat min preamble, ska testa nu.
% Möjliggör kommandot \BAR för augmenterade matriser
\newcommand{\BAR}[1][0pt]{%
\hspace{-\arraycolsep}%
\ifdim#1>0pt
\dimen0=\ht\strutbox \dimen2=\dimen0
\advance\dimen0 #1\relax
\ht\strutbox=\dimen0
\fi
\smash{\strut\vrule width 0.6pt} % the `\vrule` is as high and deep as a strut
% since assignments to \ht\strutbox are global, we restore the height
\ifdim#1>0pt
\ht\strutbox=\dimen2
\fi
\hspace{-\arraycolsep}%
Nej tyvärr det funkar inte!
Jag har integrerat stycken övan på en preambul sida, och fick följande error:
Runaway argument?
{\hspace {-\arraycolsep }\ifdim ##1>0pt \dimen 0=\ht \strutbox \dimen \ETC. ! File ended while scanning use of \@xargdef. <inserted text> \par <*> preamble.tex I suspect you have forgotten a `}', causing me to read past where you wanted me to stop. I'll try to recover; but if the error is serious, you'd better type `E' or `X' now and fix your file.
preamble.texEmergency stop.
<*> preamble.tex *** (job aborted, no legal \end found) Here is how much of TeX's memory you used: 14571 strings out of 492990 278468 string characters out of 6132621 332070 words of memory out of 5000000 17859 multiletter control sequences out of 15000+600000 4709 words of font info for 16 fonts, out of 8000000 for 9000 1141 hyphenation exceptions out of 8191 55i,1n,82p,432b,127s stack positions out of 5000i,500n,10000p,200000b,80000s ! ==> Fatal error occurred, no output PDF file produced!
Jag har försökte att kopiera dina matriser och de dök upp, utan pinnen.
Förlåt, nu funkar det.
Jag missade en curly bracket!
Stor tack igen!
dajamanté skrev :Oh wow, jag fattar verkligen ingenting i stucken nedan:D! Har prydligt uppdaterat min preamble, ska testa nu.
% Möjliggör kommandot \BAR för augmenterade matriser
\newcommand{\BAR}[1][0pt]{%
\hspace{-\arraycolsep}%
\ifdim#1>0pt
\dimen0=\ht\strutbox \dimen2=\dimen0
\advance\dimen0 #1\relax
\ht\strutbox=\dimen0
\fi
\smash{\strut\vrule width 0.6pt} % the `\vrule` is as high and deep as a strut
% since assignments to \ht\strutbox are global, we restore the height
\ifdim#1>0pt
\ht\strutbox=\dimen2
\fi
\hspace{-\arraycolsep}%
Det gör ärligt talat inte jag heller :D