mirror of
https://git.lyx.org/repos/lyx.git
synced 2024-12-22 13:18:28 +00:00
IEEEtran: update layout and example; fileformat change
- the 2 generic lyx2lyx conversion routines can also be used for other layout updates
This commit is contained in:
parent
b4c9e902ad
commit
7725e35439
@ -162,6 +162,11 @@ Style Page_headings
|
|||||||
Category FrontMatter
|
Category FrontMatter
|
||||||
InTitle 1
|
InTitle 1
|
||||||
Align Center
|
Align Center
|
||||||
|
Argument 1
|
||||||
|
Mandatory 1
|
||||||
|
LabelString "Left Side"
|
||||||
|
Tooltip "Left side of the header line"
|
||||||
|
EndArgument
|
||||||
Font
|
Font
|
||||||
Size Small
|
Size Small
|
||||||
EndFont
|
EndFont
|
||||||
@ -278,6 +283,11 @@ Style Biography
|
|||||||
LabelString "Photo"
|
LabelString "Photo"
|
||||||
Tooltip "Optional photo for biography"
|
Tooltip "Optional photo for biography"
|
||||||
EndArgument
|
EndArgument
|
||||||
|
Argument 2
|
||||||
|
Mandatory 1
|
||||||
|
LabelString "Name"
|
||||||
|
Tooltip "Name of the author"
|
||||||
|
EndArgument
|
||||||
Align Block
|
Align Block
|
||||||
TextFont
|
TextFont
|
||||||
Size Small
|
Size Small
|
||||||
@ -289,6 +299,11 @@ Style Biography_without_photo
|
|||||||
CopyStyle Biography
|
CopyStyle Biography
|
||||||
LaTeXName IEEEbiographynophoto
|
LaTeXName IEEEbiographynophoto
|
||||||
ResetArgs 1
|
ResetArgs 1
|
||||||
|
Argument 1
|
||||||
|
Mandatory 1
|
||||||
|
LabelString "Name"
|
||||||
|
Tooltip "Name of the author"
|
||||||
|
EndArgument
|
||||||
End
|
End
|
||||||
|
|
||||||
Style BiographyNoPhoto
|
Style BiographyNoPhoto
|
||||||
|
@ -1166,6 +1166,145 @@ def revert_latexargs(document):
|
|||||||
i = i + 1
|
i = i + 1
|
||||||
|
|
||||||
|
|
||||||
|
def revert_Argument_to_TeX_brace(document, line, n, nmax, environment):
|
||||||
|
'''
|
||||||
|
Reverts an InsetArgument to TeX-code
|
||||||
|
usage:
|
||||||
|
revert_Argument_to_TeX_brace(document, LineOfBeginLayout, StartArgument, EndArgument, isEnvironment)
|
||||||
|
LineOfBeginLayout is the line of the \begin_layout statement
|
||||||
|
StartArgument is the number of the first argument that needs to be converted
|
||||||
|
EndArgument is the number of the last argument that needs to be converted or the last defined one
|
||||||
|
isEnvironment must be true, if the layout id for a LaTeX environment
|
||||||
|
'''
|
||||||
|
lineArg = 0
|
||||||
|
while lineArg != -1 and n < nmax + 1:
|
||||||
|
lineArg = find_token(document.body, "\\begin_inset Argument " + str(n), line)
|
||||||
|
if lineArg != -1:
|
||||||
|
beginPlain = find_token(document.body, "\\begin_layout Plain Layout", lineArg)
|
||||||
|
endLayout = find_token(document.body, "\\end_layout", beginPlain)
|
||||||
|
endInset = find_token(document.body, "\\end_inset", endLayout)
|
||||||
|
if environment == False:
|
||||||
|
document.body[endLayout : endInset + 1] = put_cmd_in_ert("}{")
|
||||||
|
del(document.body[lineArg : beginPlain + 1])
|
||||||
|
else:
|
||||||
|
document.body[endLayout : endInset + 1] = put_cmd_in_ert("}")
|
||||||
|
document.body[lineArg : beginPlain + 1] = put_cmd_in_ert("{")
|
||||||
|
n = n + 1
|
||||||
|
|
||||||
|
|
||||||
|
def revert_IEEEtran(document):
|
||||||
|
" Reverts InsetArgument to old syntax "
|
||||||
|
i = 0
|
||||||
|
j = 0
|
||||||
|
k = 0
|
||||||
|
while True:
|
||||||
|
if i != -1:
|
||||||
|
i = find_token(document.body, "\\begin_layout Page headings", i)
|
||||||
|
if i != -1:
|
||||||
|
revert_Argument_to_TeX_brace(document, i, 1, 1, False)
|
||||||
|
i = i + 1
|
||||||
|
if j != -1:
|
||||||
|
j = find_token(document.body, "\\begin_layout Biography without photo", j)
|
||||||
|
if j != -1:
|
||||||
|
revert_Argument_to_TeX_brace(document, j, 1, 1, True)
|
||||||
|
j = j + 1
|
||||||
|
if k != -1:
|
||||||
|
k = find_token(document.body, "\\begin_layout Biography", k)
|
||||||
|
kA = find_token(document.body, "\\begin_layout Biography without photo", k)
|
||||||
|
if k == kA and k != -1:
|
||||||
|
k = k + 1
|
||||||
|
continue
|
||||||
|
if k != -1:
|
||||||
|
# start with the second argument, therefore 2
|
||||||
|
revert_Argument_to_TeX_brace(document, k, 2, 2, True)
|
||||||
|
k = k + 1
|
||||||
|
if i == -1 and j == -1 and k == -1:
|
||||||
|
return
|
||||||
|
|
||||||
|
|
||||||
|
def convert_Argument_to_TeX_brace(document, line, n, nmax, environment):
|
||||||
|
'''
|
||||||
|
Converts TeX code to an InsetArgument
|
||||||
|
!!! Be careful if the braces are different in your case as exppected here:
|
||||||
|
- }{ separates mandatory arguments of commands
|
||||||
|
- { and } surround a mandatory argument of an environment
|
||||||
|
usage:
|
||||||
|
convert_Argument_to_TeX_brace(document, LineOfBeginLayout, StartArgument, EndArgument, isEnvironment)
|
||||||
|
LineOfBeginLayout is the line of the \begin_layout statement
|
||||||
|
StartArgument is the number of the first ERT that needs to be converted
|
||||||
|
EndArgument is the number of the last ERT that needs to be converted
|
||||||
|
isEnvironment must be true, if the layout id for a LaTeX environment
|
||||||
|
|
||||||
|
Notes:
|
||||||
|
- this routine will fail if the user has additional TeX-braces (there is nothing we can do)
|
||||||
|
- this routine can currently handle only one mandatory argument of environments
|
||||||
|
Todo:
|
||||||
|
- support the case that }{ is in the file in 2 separate ERTs
|
||||||
|
'''
|
||||||
|
lineArg = line
|
||||||
|
while lineArg != -1 and n < nmax + 1:
|
||||||
|
lineArg = find_token(document.body, "\\begin_inset ERT", lineArg)
|
||||||
|
if environment == False and lineArg != -1:
|
||||||
|
bracePair = find_token(document.body, "}{", lineArg)
|
||||||
|
if bracePair == lineArg + 5: # assure that the "}{" is in this ERT
|
||||||
|
end = find_token(document.body, "\\end_inset", bracePair)
|
||||||
|
document.body[lineArg : end + 1] = ["\\end_layout", "", "\\end_inset"]
|
||||||
|
document.body[line + 1 : line + 1] = ["\\begin_inset Argument " + str(n), "status open", "", "\\begin_layout Plain Layout"]
|
||||||
|
n = n + 1
|
||||||
|
else:
|
||||||
|
lineArg = lineArg + 1
|
||||||
|
if environment == True and lineArg != -1:
|
||||||
|
opening = find_token(document.body, "{", lineArg)
|
||||||
|
if opening == lineArg + 5: # assure that the "{" is in this ERT
|
||||||
|
end = find_token(document.body, "\\end_inset", opening)
|
||||||
|
document.body[lineArg : end + 1] = ["\\begin_inset Argument " + str(n), "status open", "", "\\begin_layout Plain Layout"]
|
||||||
|
n = n + 1
|
||||||
|
lineArg2 = find_token(document.body, "\\begin_inset ERT", lineArg)
|
||||||
|
closing = find_token(document.body, "}", lineArg2)
|
||||||
|
if closing == lineArg2 + 5: # assure that the "}" is in this ERT
|
||||||
|
end2 = find_token(document.body, "\\end_inset", closing)
|
||||||
|
document.body[lineArg2 : end2 + 1] = ["\\end_layout", "", "\\end_inset"]
|
||||||
|
else:
|
||||||
|
lineArg = lineArg + 1
|
||||||
|
|
||||||
|
|
||||||
|
def convert_IEEEtran(document):
|
||||||
|
'''
|
||||||
|
Converts ERT of
|
||||||
|
Page headings
|
||||||
|
Biography
|
||||||
|
Biography without photo
|
||||||
|
to InsetArgument
|
||||||
|
'''
|
||||||
|
i = 0
|
||||||
|
j = 0
|
||||||
|
k = 0
|
||||||
|
while True:
|
||||||
|
if i != -1:
|
||||||
|
i = find_token(document.body, "\\begin_layout Page headings", i)
|
||||||
|
if i != -1:
|
||||||
|
convert_Argument_to_TeX_brace(document, i, 1, 1, False)
|
||||||
|
i = i + 1
|
||||||
|
if j != -1:
|
||||||
|
j = find_token(document.body, "\\begin_layout Biography without photo", j)
|
||||||
|
if j != -1:
|
||||||
|
convert_Argument_to_TeX_brace(document, j, 1, 1, True)
|
||||||
|
j = j + 1
|
||||||
|
if k != -1:
|
||||||
|
# assure that we don't handle Biography Biography without photo
|
||||||
|
k = find_token(document.body, "\\begin_layout Biography", k)
|
||||||
|
kA = find_token(document.body, "\\begin_layout Biography without photo", k - 1)
|
||||||
|
if k == kA and k != -1:
|
||||||
|
k = k + 1
|
||||||
|
continue
|
||||||
|
if k != -1:
|
||||||
|
# the argument we want to convert is the second one
|
||||||
|
convert_Argument_to_TeX_brace(document, k, 2, 2, True)
|
||||||
|
k = k + 1
|
||||||
|
if i == -1 and j == -1 and k == -1:
|
||||||
|
return
|
||||||
|
|
||||||
|
|
||||||
##
|
##
|
||||||
# Conversion hub
|
# Conversion hub
|
||||||
#
|
#
|
||||||
@ -1204,10 +1343,12 @@ convert = [
|
|||||||
[443, []],
|
[443, []],
|
||||||
[444, []],
|
[444, []],
|
||||||
[445, []],
|
[445, []],
|
||||||
[446, [convert_latexargs]]
|
[446, [convert_latexargs]],
|
||||||
|
[447, [convert_IEEEtran]]
|
||||||
]
|
]
|
||||||
|
|
||||||
revert = [
|
revert = [
|
||||||
|
[446, [revert_IEEEtran]],
|
||||||
[445, [revert_latexargs]],
|
[445, [revert_latexargs]],
|
||||||
[444, [revert_uop]],
|
[444, [revert_uop]],
|
||||||
[443, [revert_biolinum]],
|
[443, [revert_biolinum]],
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
#LyX 2.0 created this file. For more info see http://www.lyx.org/
|
#LyX 2.1 created this file. For more info see http://www.lyx.org/
|
||||||
\lyxformat 413
|
\lyxformat 447
|
||||||
\begin_document
|
\begin_document
|
||||||
\begin_header
|
\begin_header
|
||||||
\textclass IEEEtran
|
\textclass IEEEtran
|
||||||
@ -20,13 +20,13 @@
|
|||||||
\font_roman default
|
\font_roman default
|
||||||
\font_sans default
|
\font_sans default
|
||||||
\font_typewriter default
|
\font_typewriter default
|
||||||
|
\font_math auto
|
||||||
\font_default_family default
|
\font_default_family default
|
||||||
\use_non_tex_fonts false
|
\use_non_tex_fonts false
|
||||||
\font_sc false
|
\font_sc false
|
||||||
\font_osf false
|
\font_osf false
|
||||||
\font_sf_scale 100
|
\font_sf_scale 100
|
||||||
\font_tt_scale 100
|
\font_tt_scale 100
|
||||||
|
|
||||||
\graphics default
|
\graphics default
|
||||||
\default_output_format default
|
\default_output_format default
|
||||||
\output_sync 0
|
\output_sync 0
|
||||||
@ -50,15 +50,21 @@
|
|||||||
\pdf_quoted_options "pdfpagelayout=OneColumn, pdfnewwindow=true, pdfstartview=XYZ, plainpages=false"
|
\pdf_quoted_options "pdfpagelayout=OneColumn, pdfnewwindow=true, pdfstartview=XYZ, plainpages=false"
|
||||||
\papersize default
|
\papersize default
|
||||||
\use_geometry false
|
\use_geometry false
|
||||||
\use_amsmath 1
|
\use_package amsmath 1
|
||||||
\use_esint 0
|
\use_package amssymb 1
|
||||||
\use_mhchem 1
|
\use_package esint 0
|
||||||
\use_mathdots 1
|
\use_package mathdots 1
|
||||||
|
\use_package mathtools 0
|
||||||
|
\use_package mhchem 1
|
||||||
|
\use_package undertilde 0
|
||||||
\cite_engine basic
|
\cite_engine basic
|
||||||
|
\cite_engine_type numerical
|
||||||
|
\biblio_style plain
|
||||||
\use_bibtopic false
|
\use_bibtopic false
|
||||||
\use_indices false
|
\use_indices false
|
||||||
\paperorientation portrait
|
\paperorientation portrait
|
||||||
\suppress_date false
|
\suppress_date false
|
||||||
|
\justification true
|
||||||
\use_refstyle 0
|
\use_refstyle 0
|
||||||
\index Index
|
\index Index
|
||||||
\shortcut idx
|
\shortcut idx
|
||||||
@ -304,13 +310,11 @@ optional
|
|||||||
\end_layout
|
\end_layout
|
||||||
|
|
||||||
\begin_layout Page headings
|
\begin_layout Page headings
|
||||||
Journal of XXX
|
\begin_inset Argument 1
|
||||||
\begin_inset ERT
|
status open
|
||||||
status collapsed
|
|
||||||
|
|
||||||
\begin_layout Plain Layout
|
\begin_layout Plain Layout
|
||||||
|
Journal of XXX
|
||||||
}{
|
|
||||||
\end_layout
|
\end_layout
|
||||||
|
|
||||||
\end_inset
|
\end_inset
|
||||||
@ -467,7 +471,7 @@ Methodology
|
|||||||
\end_layout
|
\end_layout
|
||||||
|
|
||||||
\begin_layout Theorem
|
\begin_layout Theorem
|
||||||
\begin_inset Argument
|
\begin_inset Argument 1
|
||||||
status collapsed
|
status collapsed
|
||||||
|
|
||||||
\begin_layout Plain Layout
|
\begin_layout Plain Layout
|
||||||
@ -556,7 +560,7 @@ above
|
|||||||
\align center
|
\align center
|
||||||
\begin_inset Tabular
|
\begin_inset Tabular
|
||||||
<lyxtabular version="3" rows="2" columns="2">
|
<lyxtabular version="3" rows="2" columns="2">
|
||||||
<features tabularvalignment="middle">
|
<features rotate="0" tabularvalignment="middle">
|
||||||
<column alignment="center" valignment="top" width="0pt">
|
<column alignment="center" valignment="top" width="0pt">
|
||||||
<column alignment="center" valignment="top" width="0pt">
|
<column alignment="center" valignment="top" width="0pt">
|
||||||
<row>
|
<row>
|
||||||
@ -684,43 +688,10 @@ options "IEEEtran"
|
|||||||
\end_layout
|
\end_layout
|
||||||
|
|
||||||
\begin_layout Biography
|
\begin_layout Biography
|
||||||
\begin_inset ERT
|
\begin_inset Argument 1
|
||||||
status collapsed
|
|
||||||
|
|
||||||
\begin_layout Plain Layout
|
|
||||||
|
|
||||||
{
|
|
||||||
\end_layout
|
|
||||||
|
|
||||||
\end_inset
|
|
||||||
|
|
||||||
Your Name
|
|
||||||
\begin_inset ERT
|
|
||||||
status collapsed
|
|
||||||
|
|
||||||
\begin_layout Plain Layout
|
|
||||||
|
|
||||||
}
|
|
||||||
\end_layout
|
|
||||||
|
|
||||||
\end_inset
|
|
||||||
|
|
||||||
All about you and the what your interests are.
|
|
||||||
\begin_inset Argument
|
|
||||||
status open
|
status open
|
||||||
|
|
||||||
\begin_layout Plain Layout
|
\begin_layout Plain Layout
|
||||||
\begin_inset ERT
|
|
||||||
status collapsed
|
|
||||||
|
|
||||||
\begin_layout Plain Layout
|
|
||||||
|
|
||||||
{
|
|
||||||
\end_layout
|
|
||||||
|
|
||||||
\end_inset
|
|
||||||
|
|
||||||
|
|
||||||
\begin_inset Graphics
|
\begin_inset Graphics
|
||||||
filename ../examples/CV-image.png
|
filename ../examples/CV-image.png
|
||||||
width 1in
|
width 1in
|
||||||
@ -731,22 +702,21 @@ status collapsed
|
|||||||
\end_inset
|
\end_inset
|
||||||
|
|
||||||
|
|
||||||
\begin_inset ERT
|
\end_layout
|
||||||
status collapsed
|
|
||||||
|
\end_inset
|
||||||
|
|
||||||
|
|
||||||
|
\begin_inset Argument 2
|
||||||
|
status open
|
||||||
|
|
||||||
\begin_layout Plain Layout
|
\begin_layout Plain Layout
|
||||||
|
Your Name
|
||||||
}
|
|
||||||
\end_layout
|
\end_layout
|
||||||
|
|
||||||
\end_inset
|
\end_inset
|
||||||
|
|
||||||
|
All about you and the what your interests are.
|
||||||
\end_layout
|
|
||||||
|
|
||||||
\end_inset
|
|
||||||
|
|
||||||
|
|
||||||
\end_layout
|
\end_layout
|
||||||
|
|
||||||
\begin_layout --Separator--
|
\begin_layout --Separator--
|
||||||
@ -754,23 +724,11 @@ status collapsed
|
|||||||
\end_layout
|
\end_layout
|
||||||
|
|
||||||
\begin_layout Biography without photo
|
\begin_layout Biography without photo
|
||||||
\begin_inset ERT
|
\begin_inset Argument 1
|
||||||
status collapsed
|
status open
|
||||||
|
|
||||||
\begin_layout Plain Layout
|
\begin_layout Plain Layout
|
||||||
|
|
||||||
{
|
|
||||||
\end_layout
|
|
||||||
|
|
||||||
\end_inset
|
|
||||||
|
|
||||||
Coauthor
|
Coauthor
|
||||||
\begin_inset ERT
|
|
||||||
status collapsed
|
|
||||||
|
|
||||||
\begin_layout Plain Layout
|
|
||||||
|
|
||||||
}
|
|
||||||
\end_layout
|
\end_layout
|
||||||
|
|
||||||
\end_inset
|
\end_inset
|
||||||
|
@ -30,8 +30,8 @@ extern char const * const lyx_version_info;
|
|||||||
|
|
||||||
// Do not remove the comment below, so we get merge conflict in
|
// Do not remove the comment below, so we get merge conflict in
|
||||||
// independent branches. Instead add your own.
|
// independent branches. Instead add your own.
|
||||||
#define LYX_FORMAT_LYX 446 // spitz: InsetArgument revision
|
#define LYX_FORMAT_LYX 447 // uwestoehr: IEEEtran layout revision
|
||||||
#define LYX_FORMAT_TEX2LYX 446 // landroni: InsetArgument revision
|
#define LYX_FORMAT_TEX2LYX 447
|
||||||
|
|
||||||
#if LYX_FORMAT_TEX2LYX != LYX_FORMAT_LYX
|
#if LYX_FORMAT_TEX2LYX != LYX_FORMAT_LYX
|
||||||
#ifndef _MSC_VER
|
#ifndef _MSC_VER
|
||||||
|
Loading…
Reference in New Issue
Block a user