Pagina 1 di 2

Apice a sinistra, applicato ad un delimiter

Inviato: 22 giu 2010, 10:05
da vgsangiuliano
Ciao a tutti volevo porvi la seguente domanda:
ho il seguente codice latex

Codice: Seleziona tutto

\begin{equation}
\textbf{H}_C=^{\mathcal{B}}\left(
\begin{array}{c}
H_{C_1}\\H_{C_2}\\H_{C_3}
\end{array}\right)
=\int_B{^{\mathcal{B}}\left[
\begin{array}{ccc}
r^{2}_{2}+r^{2}_{3} & -r_1r_2 & -r_1r_3\\
-r_1r_2 & r^{2}_{1}+r^{2}_{3} & -r_2r_3\\
-r_1r_3 & -r_2r_3 & r^{2}_{1}+r^{2}_{2}
\end{array}
\right]m}\left(\begin{array}{c}\omega_1\\\omega_2\\\omega_3\end{array}\right)
\end{equation}
che produce l'equazione che si vede nell'immagine allegata.
Non so come fare ad avere le \mathcal{B} in alto a sinistra, la prima in alto alla \left( e la seconda in alto alla \left[
Grazie a tutti.

Inviato: 22 giu 2010, 11:15
da Nonno Bassotto
Metodo molto rozzo: con gli spazi negativi (\!). Esempio:

Codice: Seleziona tutto

\bigg(^{\!\!\!\!\!\!\! \mathcal{B}} \,\, \frac{3}{2} \cdot \frac{\pi}{4} \bigg)
$ \bigg(^{\!\!\!\!\!\!\! \mathcal{B}} \,\, \frac{3}{2} \cdot \frac{\pi}{4} \bigg) $

Metodo migliore: usa qualche pacchetto dedicato alle formule chimiche. :wink:

Inviato: 22 giu 2010, 12:08
da vgsangiuliano
Ciao, grazie della risposta. Il metodo "rozzo" funziona solo che usando \bigg( la parentesi non racchiude completamente il mio testo ed usando gli spazi negativi con \left( non funzionano le cosa.
Sto guardando ppchtex, ma non capisco come trovare quello che mi può servire.
Sai indirizzarmi su come fare quello che mi serve con ppchtex od un altro pacchetto chimico?
Grazie

Inviato: 22 giu 2010, 16:18
da Tibor Gallai

Codice: Seleziona tutto

\bigg{}^\mathcal{B} \bigg( \frac{3}{2} \cdot \frac{\pi}{4} \bigg)
$ \bigg{}^\mathcal{B} \bigg( \frac{3}{2} \cdot \frac{\pi}{4} \bigg) $

Inviato: 22 giu 2010, 16:27
da Nonno Bassotto
vgsangiuliano ha scritto:Ciao, grazie della risposta. Il metodo "rozzo" funziona solo che usando \bigg( la parentesi non racchiude completamente il mio testo ed usando gli spazi negativi con \left( non funzionano le cosa.
Uhm... molto chiaro... :-D

Puoi usare altre misure come \Big o \Bigg. Purtroppo non so aiutarti sui pacchetti di chimica, non li ho mai usati.

In ogni caso se chiedi sul forum di Guit, credo che sapranno darti una risposta molto migliore.

Inviato: 22 giu 2010, 16:36
da Tibor Gallai
Se non è questo che vuoi, allora non so.

$ $\textbf{H}_C=\Bigg{}^{\mathcal{B}}\!\!\left( \begin{array}{c} H_{C_1}\\H_{C_2}\\H_{C_3} \end{array}\right) =\int_B{\Bigg{}^{\mathcal{B}}\!\left[ \begin{array}{ccc} r^{2}_{2}+r^{2}_{3} & -r_1r_2 & -r_1r_3\\ -r_1r_2 & r^{2}_{1}+r^{2}_{3} & -r_2r_3\\ -r_1r_3 & -r_2r_3 & r^{2}_{1}+r^{2}_{2} \end{array} \right]dm}\left(\begin{array}{c}\omega_1\\\omega_2\\\omega_3\end{array}\right) $

Inviato: 26 giu 2010, 18:38
da fph
Ci dovrebbe essere un pacchetto apposta per fare gli "apici (e pedici) a sinistra". Affina un attimo il tuo google-fu.

Inviato: 27 giu 2010, 11:34
da batmath
Spero di avere ben capito il tuo problema.

Intanto a me il metodo di Tibor Gallai (che sarebbe ottimo) non funziona (fornisce errore in quanto il \Bigg{} è privo di delimitatori, anche se sul forum funziona).

Secondo me il metodo più elegante per risolvere il problema è quello di usare il comando \sideset{}{}{} di amsmath, la cui sintassi è la seguente:

Codice: Seleziona tutto

\sideset{_{ll}^{ul}}{_{lr}^{ur}}{operatore}
dove {ll}=lowleft, {ul}=upperleft, ecc. I tre argomenti di \sideset possono essere vuoti, ma sono obbligatori. L'unico problema è che \sideset funziona solo con operatori matematici, ma qualsiasi cosa può essere definita come operatore matematico con il comando \mathop, qyuindi basta rendere operatore il pezzo di formula che deve avere l'apice a sinistra.

In sostanza una soluzione per il tuo problema (solo il primo apice, la cosa è identica per il secondo) può essere.

Codice: Seleziona tutto

\begin{equation}
\textbf{H}_C=
\sideset{^\mathcal{B}}{}{
\mathop{\left(
\begin{array}{c}
H_{C_1}\\H_{C_2}\\H_{C_3}
\end{array}
\right)}}
\end{equation}
che produce il risultato seguente

$ \begin{equation*} \textbf{H}_C= \sideset{^\mathcal{B}}{}{ \mathop{\left( \begin{array}{c} H_{C_1}\\H_{C_2}\\H_{C_3} \end{array} \right)}} \end{equation*} $

Tra l'altro con questo metodo le spaziature sono, a mio avviso, perfette.

Spero che vada bene. Ciao e buon lavoro.
Luciano Battaia

Inviato: 27 giu 2010, 12:04
da Tibor Gallai
batmath ha scritto:Intanto a me il metodo di Tibor Gallai (che sarebbe ottimo) non funziona (fornisce errore in quanto il \Bigg{} è privo di delimitatori, anche se sul forum funziona).
L'ho compilato su 3 forum diversi e su MikTex senza problemi. Magari usi un compilatore ebete?
Comunque la tua è sicuramente la soluzione migliore.

Inviato: 27 giu 2010, 21:57
da batmath
Tibor Gallai ha scritto: L'ho compilato su 3 forum diversi e su MikTex senza problemi. Magari usi un compilatore ebete?
La compilazione sui forum non fa testo (non è una vera compilazione Tex). Anche la compilazione su MikTex dà errore. La compilazione può comunque essere portata a termine per produrre il risultato voluto, ma nel log file l'errore è segnalato.

La sintassi dei comandi tipo \big prevede un delimitatore e, secondo me, è bene rispettare le sintassi canoniche, senza forzature, almeno se possibile.

Ciao,
Luciano Battaia

Inviato: 27 giu 2010, 22:35
da SkZ
\bigg. funziona?
(non ho voglia di provare a compilare: flojo!)

Inviato: 28 giu 2010, 03:50
da Tibor Gallai
batmath ha scritto:La compilazione sui forum non fa testo (non è una vera compilazione Tex).
Cosa significa questa frase?
batmath ha scritto:Anche la compilazione su MikTex dà errore. La compilazione può comunque essere portata a termine per produrre il risultato voluto, ma nel log file l'errore è segnalato.
Confermo questo.
batmath ha scritto:La sintassi dei comandi tipo \big prevede un delimitatore e, secondo me, è bene rispettare le sintassi canoniche, senza forzature, almeno se possibile.
Esatto, io usavo "{}" per indicare il delimiter vuoto, che invece è ".", come sostiene SkZ. Modificando la mia soluzione con questo delimiter, MikTex smette di dare errore, e il risultato visivo è identico:

$ $\textbf{H}_C=\Bigg.^{\mathcal{B}}\!\!\left( \begin{array}{c} H_{C_1}\\H_{C_2}\\H_{C_3} \end{array}\right) =\int_B{\Bigg.^{\mathcal{B}}\!\left[ \begin{array}{ccc} r^{2}_{2}+r^{2}_{3} & -r_1r_2 & -r_1r_3\\ -r_1r_2 & r^{2}_{1}+r^{2}_{3} & -r_2r_3\\ -r_1r_3 & -r_2r_3 & r^{2}_{1}+r^{2}_{2} \end{array} \right]dm}\left(\begin{array}{c}\omega_1\\\omega_2\\\omega_3\end{array}\right) $

Inviato: 28 giu 2010, 10:32
da batmath
Tibor Gallai ha scritto:
batmath ha scritto:La compilazione sui forum non fa testo (non è una vera compilazione Tex).
Cosa significa questa frase?
Gli interpreti LaTeX usati nei forum sono di vario tipo (spesso piccole applicazioni Java) che trasformano il codice in Immagine, ma sono di "bocca buona", nel senso che tollerano molti errori di sintassi. Basta provare con un codice come il seguente:

Codice: Seleziona tutto

\left[\frac{1}{2}
che produce il risultato
$ \left[\frac{1}{2} $
nonostante la mancanza del tag di chiusura \right.

Molto interessante invece la proposta di SkZ, non sapevo che anche per i delimitatori tipo \big valesse la regola del ".", come per \left e \right.

Saluti a tutti e buon lavoro.
Luciano Battaia

Inviato: 28 giu 2010, 17:50
da SkZ
manco io :D
sapendo di loro ho fatto un guess: anche \left e \right vogliono un delimitatore

Inviato: 28 giu 2010, 18:35
da fph
batmath ha scritto:Gli interpreti LaTeX usati nei forum sono di vario tipo (spesso piccole applicazioni Java) che trasformano il codice in Immagine, ma sono di "bocca buona", nel senso che tollerano molti errori di sintassi.
Ho presente a quale programma ti riferisci, ma questo forum utilizza un plugin diverso, basato su compilazione in latex (quello vero, credo pdflatex) + conversione del pdf risultante in un .gif ospitato sul server.