fricas
(1) -> )set output algebra on
fricas
T1:=hconcat("abc",vconcat([1,1234,123,12])$OutputForm)
   (1)  "abc" 1
             1234
             123
              12
fricas
output(T1::TEX)$OutputPackage
   ["$$", "\verb#"abc"#{\begin{array}{c}1\\{1234}\\{123}\\{12}\\\end{array}} ",
    "$$"]
Type: Void
fricas
T1 pretend SExpression
   (3)  (CONCAT ""abc"" (VCONCAT 1 1234 123 12))
In the following although the OutputForm? is apparently the same
for each of "center", "right" and "left", the actual output
generated by the "algebra" output is different. How can this be?
fricas
C1:=center(T1)
   (4)                                    "abc" 1
                                               1234
                                               123
                                                12
fricas
output(C1::TEX)$OutputPackage
   ["$$", "\mbox{\rm } ",
    "{\verb#"abc"#{\begin{array}{c}1\\{1234}\\{123}\\{12}\\\end{array}}} ",
    "$$"]
Type: Void
fricas
C1 pretend SExpression
   (6)
   (CONCAT  "                                  "
    (CONCAT ""abc"" (VCONCAT 1 1234 123 12)))
fricas
R1:=right(T1)
   (7)
                                                                       "abc" 1
                                                                            1234
                                                                            123
                                                                             12
fricas
output(R1::TEX)$OutputPackage
   ["$$", "\mbox{\rm } ",
    "{\verb#"abc"#{\begin{array}{c}1\\{1234}\\{123}\\{12}\\\end{array}}} ",
    "$$"]
Type: Void
fricas
R1 pretend SExpression
   (9)
   (CONCAT
    "                                                                    "
    (CONCAT ""abc"" (VCONCAT 1 1234 123 12)))
fricas
L1:=left(T1)
   (10)
   "abc" 1
        1234
        123
         12
fricas
output(L1::TEX)$OutputPackage
   ["$$",
    "{\verb#"abc"#{\begin{array}{c}1\\{1234}\\{123}\\{12}\\\end{array}}} ",
    "\mbox{\rm } ", "$$"]
Type: Void
fricas
L1 pretend SExpression
   (12)
   (CONCAT  (CONCAT ""abc"" (VCONCAT 1 1234 123 12))
    "                                                                    ")
Note also how the SExpression? is formatted differently. So maybe
there is something "hidden" in the SExpression?. Strange!
Ref.
fricas
)sh OutputForm
 OutputForm is a domain constructor.
 Abbreviation for OutputForm is OUTFORM 
 This constructor is not exposed in this frame.
 72 names for 96 operations in this domain.
------------------------------- Operations --------------------------------
 ?*? : (%, %) -> %                     ?+? : (%, %) -> %
 -? : % -> %                           ?-? : (%, %) -> %
 ?/? : (%, %) -> %                     ?<? : (%, %) -> %
 ?<=? : (%, %) -> %                    ?=? : (%, %) -> %
 ?=? : (%, %) -> Boolean               ?>? : (%, %) -> %
 ?>=? : (%, %) -> %                    ?SEGMENT : % -> %
 ?..? : (%, %) -> %                    ?^? : (%, %) -> %
 ?and? : (%, %) -> %                   assign : (%, %) -> %
 binomial : (%, %) -> %                blankSeparate : List(%) -> %
 box : % -> %                          brace : % -> %
 brace : List(%) -> %                  bracket : % -> %
 bracket : List(%) -> %                center : % -> %
 center : (%, Integer) -> %            coerce : % -> OutputForm
 commaSeparate : List(%) -> %          convert : % -> InputForm
 dot : % -> %                          elt : (%, List(%)) -> %
 empty : () -> %                       ?exquo? : (%, %) -> %
 hconcat : (%, %) -> %                 hconcat : List(%) -> %
 hspace : Integer -> %                 infix : (%, %, %) -> %
 infix : (%, List(%)) -> %             infix? : % -> Boolean
 int : % -> %                          int : (%, %) -> %
 int : (%, %, %) -> %                  label : (%, %) -> %
 latex : % -> String                   left : % -> %
 left : (%, Integer) -> %              matrix : List(List(%)) -> %
 message : String -> %                 messagePrint : String -> Void
 not? : % -> %                         ?or? : (%, %) -> %
 outputForm : Integer -> %             outputForm : String -> %
 outputForm : Symbol -> %              over : (%, %) -> %
 overbar : % -> %                      overlabel : (%, %) -> %
 paren : % -> %                        paren : List(%) -> %
 pile : List(%) -> %                   postfix : (%, %) -> %
 prefix : (%, List(%)) -> %            presub : (%, %) -> %
 presuper : (%, %) -> %                prime : % -> %
 print : % -> Void                     prod : % -> %
 prod : (%, %) -> %                    prod : (%, %, %) -> %
 ?quo? : (%, %) -> %                   quote : % -> %
 rarrow : (%, %) -> %                  ?rem? : (%, %) -> %
 right : % -> %                        right : (%, Integer) -> %
 root : % -> %                         root : (%, %) -> %
 rspace : (Integer, Integer) -> %      scripts : (%, List(%)) -> %
 semicolonSeparate : List(%) -> %      slash : (%, %) -> %
 sub : (%, %) -> %                     sum : % -> %
 sum : (%, %) -> %                     sum : (%, %, %) -> %
 super : (%, %) -> %                   supersub : (%, List(%)) -> %
 tensor : (%, %) -> %                  vconcat : (%, %) -> %
 vconcat : List(%) -> %                vspace : Integer -> %
 zag : (%, %) -> %                     ?~=? : (%, %) -> %
 ?~=? : (%, %) -> Boolean             
 differentiate : (%, NonNegativeInteger) -> %
 dot : (%, NonNegativeInteger) -> %
 prime : (%, NonNegativeInteger) -> %
fricas
)sh OutputPackage
 OutputPackage is a package constructor
 Abbreviation for OutputPackage is OUT 
 This constructor is exposed in this frame.
------------------------------- Operations --------------------------------
 output : String -> Void               output : OutputForm -> Void
 outputList : List(Any) -> Void       
 output : (String, OutputForm) -> Void